
SERIAL BOOTLOADER
The Serial Boot loader occupies 1K-bytes of erase-protected EEPROM starting at address $FC00. Thus, user code
may only occupy the 3K-byte from $F000 to $FBFF.
The Boot loader contains a serial S-Record loader that can load assembled code from the host computer into
EEPROM. It uses the SCI for communications with the host computer via the NMIN-0812 RS-232 interface. The
only special requirements for the host computer’s communications program are:
It must operate at 9600 baud
It must wait for the prompt string, the ASCII * character before sending a line of text to the NMIN-0812. This
“handshaking” is necessary because of the variable amount of time required to program each S-Record into
Flash EEPROM. Flash EEPROM typically requires 10ms per byte.
If you use the terminal program called MAXTERM, or NMITerm, you must change the PACING character to
decimal 0. Line Delay set for 100ms.
(E)rase, (P)rogram ( R)eset:
Select the desired function by typing an upper or lower-case “E” or “P”.
Note: The starting address of the user code must be placed in the reset vector position ($FBFE) of the alternate
reset/interrupt vector jump table. For more information, see Vector Jump Table: Interrupt and Reset Address
on page 7.
The boot loader cannot be used with S-Records containing a code/data field longer than 64 bytes. Longer S-
Record will cause the boot loader to crash and/or program incorrect data into EEPROM.
S-Record may contain ASCII “CR” and/or “LF” characters.
(E)rase: This selection causes a bulk erase of EEPROM except for the erase-protected area starting at address
$F800, which contains the boot loader program, and the reset/interrupt vector table. After the erase operation, a
verify operation checks for proper erasure of all locations.
If the erase operation was successful, the message “Erased” is displayed, and the boot loader’s prompt is
redisplayed.
(P)rogram: In flash programming mode, the boot loader sends an ASCII “0” (NULL character) to the host
computer, indicating that it is ready to receive an S-Record. The host then sends a single S-Record and wait for the
“0” prompt from the boot loader before sending the next R-Record.
This process is repeated until the boot loader receives and end-of-file (S9) record from the host computer. If no S9
record is received, the boot loader continues to wait for another S-Record indefinitely. In this situation, the NMIN-
0812 must be reset to return to the boot loader’s prompt. (S-Record already loaded into EEPROM are unaffected by
missing S9 record; reprogramming is not necessary).
Serial Boot Loader Recovery: To erase the application program, tie port PH0 to ground will always force the serial
boot loader to come up on reset. At the prompt enter (E)rase, then (P)rogram to reload the new program.