MC68HC16R1/916R1
USER’S MANUAL
FLASH EEPROM MODULE
MOTOROLA
8-1
SECTION 8
FLASH EEPROM MODULE
The flash EEPROM modules serve as nonvolatile, fast-access, electrically erasable
and programmable ROM-emulation memory. These modules are used only in the
MC68HC916R1.
The MC68HC916R1 contains two flash electrically erasable programmable read-only
memory (EEPROM) modules: a 16-Kbyte module and a 32-Kbyte module. The
modules can contain program code (for example, operating system kernels and
standard subroutines) which must execute at high speed or is frequently executed, or
static data which is read frequently. The flash EEPROM supports both byte and word
reads. It is capable of responding to back-to-back IMB accesses to provide two bus
cycle (four system clock) access for aligned long words. It can also be programmed to
insert up to three wait states to accommodate migration from slower external
development memory to onboard flash EEPROM without the need for retiming the
system.
The 16-Kbyte flash EEPROM array can begin on any 16-Kbyte boundary, and the 32-
Kbyte array can begin on any 32-Kbyte boundary. The two arrays can be configured
to appear as a single contiguous memory block, with the 16-Kbyte array immediately
preceding or immediately following the 32-Kbyte array.
Pulling data bus pin DATA14 low during reset disables both the 16- and 32-Kbyte flash
EEPROM modules and places them in stop mode.
Either of the flash EEPROM modules can be configured to generate bootstrap infor-
mation on system reset. Bootstrap information consists of the initial program counter
and stack pointer values for the CPU16.
The flash EEPROM and its control bits are erasable and programmable under soft-
ware control. Program/erase voltage must be supplied via external V
FPE
pins. Data is
programmed in byte or word aligned fashion. Multiple word programming is not sup-
ported. The flash EEPROM modules support bulk erase only, and have a minimum
program-erase life of 100 cycles.
The flash EEPROM modules have hardware interlocks which protect stored data from
corruption by accidental enabling of the program/erase voltage to the flash EEPROM
arrays. With the hardware interlocks, inadvertent programming or erasure is highly un-
likely.
8.1 Flash EEPROM Control Block
Each flash EEPROM module has a 32-byte control block with five registers to control
flash EEPROM operation: the flash EEPROM module configuration register
(FEE1MCR, FEE2MCR), the flash EEPROM test register (FEE1TST, FEE2TST), the
flash EEPROM array base address registers (FEE1BAH, FEE2BAH, and FEE1BAL,
FEE2BAL), and the flash EEPROM control register (FEE1CTL, FEE2CTL).