
PIC18F97J60 FAMILY
DS80292D-page 2
2008 Microchip Technology Inc.
3.
Module: I/O (PORTJ) and External
Memory Bus
In
an
Extended
Microcontroller
mode
(CONFIG3L<EMB1:0> = 00, 01 or 10), each
control signal on PORTJ is supposed to be driven
to its Idle state. However, the control signals on
PORTJ pins go to a high-impedance state for a
brief interval after a MCLR Reset. The brief loss of
control signals may cause the corruption of data in
memory devices connected to the External
Memory Bus (EMB).
Work around
To maintain the default states on the control lines,
use pull-up or pull-down resistors on all PORTJ
pins (pull-down on PORTJ<4,0>, pull-up on all
others).
Date Codes that pertain to this issue:
All engineering and production devices.
4.
Module: Ethernet (Buffer Memory)
The receive hardware may corrupt the circular
receive buffer (including the Next Packet Pointer
and receive status vector fields) when an even value
is programmed into the ERXRDPTH:ERXRDPTL
registers.
Work around
Ensure that only odd addresses are written to the
ERXRDPT registers. Assuming that ERXND con-
tains an odd value, many applications can derive a
suitable value to write to ERXRDPT by subtracting 1
from the Next Packet Pointer (a value always
ensured to be even because of hardware padding)
and then compensating for a potential ERXST to
ERXND wraparound.
Assuming that the receive buffer area does not
span the 1FFFh to 0000h memory boundary, the
logic in
Example 1 will ensure that ERXRDPT is
programmed with an odd value.
EXAMPLE 1:
Date Codes that pertain to this issue:
All engineering and production devices.
Note:
This issue is only applicable to the
100-pin device.
if (Next Packet Pointer – 1 < ERXST) or
(Next Packet Pointer – 1 > ERXND)
then:
ERXRDPT = ERXND
else:
ERXRDPT = Next Packet Pointer – 1