How to Use the Routines
CPUSPD
To set up proper delays used in the PRGRNGE and ERARNGE routines, a value indicating the internal
operating frequency (f ) must be stored at CPUSPD, which is located at RAM address RAM+$9. In the
op
case of the MC68HC908LB8, the CPUSPD is located at $89. The CPUSPD value is the nearest integer
of f (in MHz) times 4. For example, if f is 4.2 MHz, the CPUSPD value is 17. If f is 2.1 MHz, the
op
op
op
CPUSPD value is 8. Setting a correct CPUSPD value is very important to program or erase the FLASH
successfully.
LADDR
A range specifies the FLASH locations to be read, verified, or programmed. The 16-bit value in RAM
addresses RAM+$A and RAM+$B holds the last address of a range. The addresses RAM+$A and
RAM+$B are the high and low bytes of the last address, respectively. In the case of MC68HC908LB8, the
LADDR is located at $8A and $8B. LADDR is used for RDVRRNG and PRGRNGE routines.
DATA
DATA is the first location of the DATA array and is located at RAM address RAM+$C. For the
MC68HC908LB8, the DATA is located at $8C. The array is used for loading program or verify data. The
DATA array must be in the zero page and its size must match the size of the range to be programmed or
verified.
Registers H:X
In the RDVRRNG and PRGRNGE routines, registers H and X are initialized with a 16-bit value
representing the first address of a range. High and low bytes of the address are stored to registers H and
X, respectively. In the ERARNGE routine, registers H and X are initialized with an address which is within
the page or entire array to be erased.
How to Use the Routines
This section describes the details of each routine. Table 2 provides necessary addresses used in the
on-chip FLASH routines for each MCU type. Table 3 summarizes the six routines.
Table 2. MCU Type vs. Necessary Addresses Required for On-Chip FLASH Routines
MCU Name
MC68HC908LB8
MC68HC908QL4
MC68HC908QY4A
RAM
$80
$80
$80
GetByte
$037E
$2B7E
$2800
PutByte
$0381
RDVRRNG PRGRNGE ERARNGE DELNUS
$0384
$2B84
$2803
$038A
$2B8A
$2809
$0387
$2B87
$2806
$038D
$2B8D
$280C
$2B81
$280F
(1)
Series
MC68HC908QB4/QB8,
MC68HC908QY8
$80
$2800
$280F
$2803
$2809
$2806
$280C
NOTES:
1. MC68HC908QY4A Series includes MC68HC908QY4A, MC68HC908QY2A, MC68HC908QY1A, MC68HC908QT4A,
MC68HC908QT2A, MC68HC908QT1A
On-Chip FLASH Programming Routines, Rev. 4
4
Freescale Semiconductor