
M68HC11
REFERENCE MANUAL
CONFIGURATION AND MODES OF OPERATION
MOTOROLA
3-15
and/or EEPROM. Since the reset and interrupt vectors are fetched from the user’s ex-
ternal memory at the $BFC0–$BFFF area, it is not necessary for the user to know if
internal ROM is on or off. Even if the COP watchdog is enabled in the CONFIG regis-
ter, there is no need to service it because COP resets are inhibited in special modes.
The program needed to change EEPROM data could be as simple as the program
shown in Example 3–1 (see
3.6 Test and Bootstrap Mode Applications
), which just
reprograms the CONFIG register to a fixed value; it could be as complex as a complete
monitor, similar to the BUFFALO monitor, which would allow interactive examination
and modification of EEPROM data.
The test mode is useful in the debug phase of a project. In test mode, the data from
reads of internal addresses can be seen on the external data bus. This function is
called IRV and is useful for debugging with a logic analyzer or bus state monitor. In
normal operating modes, IRV is disabled since it could interfere with external circuitry.
For example, if an external 32-Kbyte EPROM were mapped at $8000–$FFFF, it would
overlap the internal EEPROM from $B600–$B7FF. The easiest decode logic would be
to select the external EPROM when ADDR15 and R/W are both high, which is perfect-
ly legal and reasonable for the MC68HC11A8 operating in normal expanded mode. Al-
though the external EPROM is selected for reads of the internal EEPROM, the read
data from the external data bus is ignored, and the CPU receives valid, internal EE-
PROM data. If the IRV function were allowed in normal mode, this example would re-
sult in a direct contention between the read data from the internal EEPROM, which is
driven out the data bus for visibility, and the read data from the external EPROM. To
overcome this contention, more complex decoding would be required for the external
devices. A mass-produced product should not bear the cost of a debug feature; the
more complex decoding belongs in the low-volume emulator tool where IRV will be
used.
3.5.4 Special Bootstrap Mode
When the MCU is reset in the special bootstrap mode, a small on-chip ROM is enabled
at address $BF40–$BFFF. The reset vector is fetched from this bootstrap ROM, and
the MCU proceeds to execute the firmware in this ROM. The program in this ROM ini-
tializes the on-chip SCI system, checks for a security option, accepts a 256-byte pro-
gram through the SCI, and then jumps to the loaded program at address $0000 in the
on-chip RAM. There are almost no limitations on the programs that can be loaded and
executed through the bootstrap process.
While the MCU is operating in bootstrap mode, the MDA control bit can be written;
thus, it is possible to turn on the multiplexed expansion bus. This possibility makes the
bootstrap mode useful in both single-chip and expanded systems. In some systems,
it may be necessary to disable the bootstrap ROM by writing a zero to the RBOOT con-
trol bit to allow access to external devices in $BF40–$BFFF. If the bootstrap ROM is
disabled, it is necessary for the user to externally provide reset and interrupt vectors
at $BFC0–$BFFF or switch the SMOD control bit back to zero so interrupt and reset
vectors return to $FFC0–$FFFF.