English
Language : 

MC908AP32CFBE Datasheet, PDF (128/324 Pages) Freescale Semiconductor, Inc – The following revision history table summarizes changes contained in this document. For your convenience, the page number designators have been linked to the appropriate location.
Monitor ROM (MON)
The start location of the FLASH to be programmed is specified by the address ADDRH:ADDRL and the
number of bytes from this location is specified by DATASIZE. The maximum number of bytes that can be
programmed in one routine call is 255 bytes (max. DATASIZE is 255).
ADDRH:ADDRL do not need to be at a page boundary, the routine handles any boundary misalignment
during programming. A check to see that all bytes in the specified range are erased is not performed by
this routine prior programming. Nor does this routine do a verification after programming, so there is no
return confirmation that programming was successful. User must assure that the range specified is first
erased.
The coding example below is to program 64 bytes of data starting at FLASH location $EE00, with a bus
speed of 4.9152 MHz. The coding assumes the data block is already loaded in RAM, with the address
pointer, FILE_PTR, pointing to the first byte of the data block.
ORG
RAM
:
FILE_PTR:
BUS_SPD
DS.B 1
; Indicates 4x bus frequency
DATASIZE
DS.B 1
; Data size to be programmed
START_ADDR DS.W 1
; FLASH start address
DATAARRAY
DS.B 64 ; Reserved data array
PRGRNGE
EQU
FLASH_START EQU
$FC34
$EE00
ORG
FLASH
INITIALISATION:
MOV #20, BUS_SPD
MOV #64, DATASIZE
LDHX #FLASH_START
STHX START_ADDR
RTS
MAIN:
BSR INITIALISATION
:
:
LDHX #FILE_PTR
JSR PRGRNGE
MC68HC908AP Family Data Sheet, Rev. 4
128
Freescale Semiconductor