MC68HC916X1
MC68HC916X1TS/D
MOTOROLA
129
9.6.2 Bootstrap Operation
After reset, the CPU begins bootstrap operation by fetching initial values for its internal registers
from special bootstrap word addresses $000000 through $000006. If BOOT = 0 and STOP = 0 in
FEExMCR, the flash EEPROM module is configured to recognize these addresses after a reset and
provide this information from the FEExBS[3:0] bootstrap registers in the flash EEPROM control
block. The information in these registers is programmed by the user.
9.6.3 Normal Operation
The flash EEPROM module allows a byte or aligned-word read in one bus cycle. Long-word reads
require two bus cycles.
The module checks function codes to verify access privileges. All control block addresses must be
in supervisor data space. Array accesses are defined by the state of ASPC[1:0] in FEExMCR. Ac-
cess time is governed by the WAIT[1:0] field in FEExMCR.
Accesses to any address in the address block defined by FEExBAH and FEExBAL which does not
fall within the array are ignored, allowing external devices to adjoin flash EEPROM arrays which do
not entirely fill the entire address space specified by FEExBAH and FEExBAL.
9.6.4 Program/Erase Operation
An erased flash bit has a logic state of one. A bit must be programmed to change its state from one
to zero. Erasing a bit returns it to a logic state of one. Programming and erasing the flash module
requires a series of control register writes and a write to an array address. The same procedure is
used to program control registers that contain flash shadow bits. Programming is restricted to a sin-
gle byte or aligned word at a time. The entire array and the shadow register bits are erased at the
same time.
When multiple flash modules share a single V
FPE
pin, do not program or erase more than one flash
module at a time. Normal accesses to modules that are not being programmed are not affected by
programming or erasure of another flash module.
The following paragraphs give step-by-step procedures for programming and erasure of flash EE-
PROM arrays. Refer to
11 Electrical Characteristics
for information on programming and erasing
specifications for the flash EEPROM module.
9.6.4.1 Programming
The following steps are used to program a flash EEPROM array.
Figure 22
is a flowchart of the
programming operation. Refer to
Figures
45
and
46
in
11 Electrical Characteristics
for V
FPE
to
V
DD
relationships during programming.
1.
2.
Increase voltage applied to the V
FPE
pin to program/erase/verify level.
Clear the ERAS bit and set the LAT bit in FEExCTL. This enables the programming address
and data latches.
Write data to the address to be programmed. This latches the address to be programmed
and the programming data.
Set the ENPE bit in FEExCTL. This starts the program pulse.
Delay the proper amount of time for one programming pulse to take place. Delay is speci-
fied by parameter pw
pp
.
Clear the ENPE bit in FEExCTL. This stops the program pulse.
Delay while high voltage to array is turned off. Delay is specified by parameter t
pr
.
Read the address to verify that it has been programmed.
If the location is not programmed, repeat steps 4 through 7 until the location is pro-
grammed, or until the specified maximum number of program pulses has been reached.
Maximum number of pulses is specified by parameter n
pp
.
3.
4.
5.
6.
7.
8.
9.