16 KByte Flash Module (S12FTMRG16K1V1) 
MC9S12G Family Reference Manual Rev.1.27
790 NXP Semiconductors
NOTE
Programming or erasing the Flash memory cannot be performed if the bus 
clock runs at less than 0.8 MHz. Setting FDIV too high can destroy the Flash 
memory due to overstress. Setting FDIV too low can result in incomplete 
programming or erasure of the Flash memory cells.
When the FCLKDIV register is written, the FDIVLD bit is set automatically. If the FDIVLD bit is 0, the 
FCLKDIV register has not been written since the last reset. If the FCLKDIV register has not been written, 
any Flash program or erase command loaded during a command write sequence will not execute and the 
ACCERR bit in the FSTAT register will set.
24.4.4.2 Command Write Sequence
The Memory Controller will launch all valid Flash commands entered using a command write sequence.
Before launching a command, the ACCERR and FPVIOL bits in the FSTAT register must be clear (see 
Section 24.3.2.7) and the CCIF flag should be tested to determine the status of the current command write 
sequence. If CCIF is 0, the previous command write sequence is still active, a new command write 
sequence cannot be started, and all writes to the FCCOB register are ignored.
24.4.4.2.1 Define FCCOB Contents
The FCCOB parameter fields must be loaded with all required parameters for the Flash command being 
executed. Access to the FCCOB parameter fields is controlled via the CCOBIX bits in the FCCOBIX 
register (see Section 24.3.2.3).
The contents of the FCCOB parameter fields are transferred to the Memory Controller when the user clears 
the CCIF command completion flag in the FSTAT register (writing 1 clears the CCIF to 0). The CCIF flag 
will remain clear until the Flash command has completed. Upon completion, the Memory Controller will 
return CCIF to 1 and the FCCOB register will be used to communicate any results. The flow for a generic 
command write sequence is shown in Figure 24-25.