Datasheet
Monitor ROM (MON)
MC68HC908LJ12 — Rev. 2.1 Technical Data
Freescale Semiconductor Monitor ROM (MON) 171
10.6 ROM-Resident Routines
Eight routines stored in the monitor ROM area (thus ROM-resident) are
provided for FLASH memory manipulation. Six of the eight routines are
intended to simply FLASH program, erase, and load operations. The
other two routines are intended to simply the use of the FLASH memory
as EEPROM. Table 10-10 shows a summary of the ROM-resident
routines.
The routines are designed to be called as stand-alone subroutines in the
user program or monitor mode. The parameters that are passed to a
routine are in the form of a contiguous data block, stored in RAM. The
index register (H:X) is loaded with the address of the first byte of the data
block (acting as a pointer), and the subroutine is called (JSR). Using the
start address as a pointer, multiple data blocks can be used, any area of
RAM be used. A data block has the control and data bytes in a defined
order, as shown in Figure 10-9.
During the software execution, it does not consume any dedicated RAM
location, the run-time heap will extend the system stack, all other RAM
location will not be affected.
Table 10-10. Summary of ROM-Resident Routines
Routine Name Routine Description
Call
Address
Stack Used
(bytes)
PRGRNGE Program a range of locations $FC06 14
ERARNGE Erase a page or the entire array $FCBE 9
LDRNGE Loads data from a range of locations $FF30 9
MON_PRGRNGE
Program a range of locations in
monitor mode
$FF28 16
MON_ERARNGE
Erase a page or the entire array in
monitor mode
$FF2C 11
MON_LDRNGE
Loads data from a range of locations
in monitor mode
$FF24 11
EE_WRITE
Emulated EEPROM write. Data size
ranges from 2 to 15 bytes at a time.
$FC00 17
EE_READ
Emulated EEPROM read. Data size
ranges from 2 to 15 bytes at a time.
$FC03 15