
MOTOROLA
3-18
CONFIGURATION AND MODES OF OPERATION
M68HC11
REFERENCE MANUAL
3.5.4.4 Bootloader Firmware Options
The designers of the MC68HC11A8 anticipated the need for a practical way to force
the MCU to jump directly into EEPROM after a reset, but they wanted to avoid special
modes that would make the part more difficult to understand. As a compromise, the
bootloader firmware provides for this direct jump to EEPROM. After initializing the SCI
and port D, the bootloader looks for the $FF character that will determine the baud rate
for the download. If a break character is received at this point, instead of the $FF, an
immediate jump to the start of EEPROM ($B600) is executed. Since the bootloader
already transmits a break character, the user can tie the RxD and TxD pins together
and to a pull-up resistor, and then reset the part in special bootstrap mode.
This procedure will cause a direct jump to EEPROM at $B600. Tying the RxD line low
will not accomplish the same result because a high-to-low transition is required to in-
dicate the beginning of a start bit (see
SECTION 9 ASYNCHRONOUS SERIAL COM-
MUNICATIONS INTERFACE
).
There is a small delay (a few milliseconds) between the reset and the start of the pro-
gram in EEPROM due to the time required for the SCI preamble and break characters.
The user should not be concerned about running out of time to access the time-pro-
tected control bits because bootstrap mode is a special mode and the protections are
overridden until the SMOD control bit is written to zero. Consider the current state of
SCI and port D controls as well as the DISR control bit in the TEST1 control register,
which disables COP and clock monitor resets. It may be necessary for the program in
EEPROM to change these bits. The stack pointer is initialized as one of the first ac-
tions in the EEPROM program (good practice in almost all programs). It is advisable
to initialize the illegal opcode pseudo-vector to help prevent program runaway in the
event of an error in the EEPROM program or a misread opcode.
Another bootloader firmware option allows a direct jump to the start of RAM, but this
feature is probably not very useful to the user since it assumes there is already a
meaningful program in the internal RAM at the time of reset. This option is invoked by
sending a $55 character to the SCI instead of the $FF or break characters previously
Table 3-3 Bootstrap Mode Pseudo-Vectors
Address
$00C4–$00C6
$00C7–$00C9
$00CA–$00CC
$00CD–$00CF
$00D0–$00D2
$00D3–$00D5
$00D6–$00D8
$00D9–$00DB
$00DC–$00DE
$00DF–$00E1
$00E2–$00E4
Vector Name
SCI
SPI
Address
$00E5–$00E7
$00E8–$00EA
$00EB–$00ED
$00EE–$00FD
$00F1–$00F3
$00F4–$00F6
$00F7–$00F9
$00FA–$00FC
$00FD–$00FF
$BF40
Vector Name
Timer Input Capture 2
Timer Input Capture 1
Real-Time Interrupt
IRQ
XIRQ
SWI
Illegal Opcode
COP Fail
Clock Monitor Fail
Reset (Bootloader Start)
Pulse Accumulator Input Edge
Pulse Accumulator Overflow
Timer Overflow
Timer Output Compare 5
Timer Output Compare 4
Timer Output Compare 3
Timer Output Compare 2
Timer Output Compare 1
Timer Input Capture 3