Freescale Semiconductor MCF51QE128RM Answering Machine User Manual


 
MCF51QE128 MCU Series Reference Manual, Rev. 3
Freescale Semiconductor 83
Get the latest version from freescale.com
Chapter 4 Memory
4.5.2.3 Burst Program Command
The burst program operation programs previously erased data in the flash memory using an embedded
algorithm.
While burst programming, two internal data registers operate as a buffer and a register (2-stage FIFO) so
that a second burst programming command along with the necessary data can be stored to the buffers while
the first burst programming command remains in progress. This pipelined operation allows a time
optimization when programming more than one consecutive address on a specific row in the flash array as
the high voltage generation can be kept active in between two programming commands.
An example flow to execute the burst program operation is shown in Figure 4-12. The burst program
command write sequence is as follows:
1. Write to an aligned flash block address to start the command write sequence for the burst program
command. The data written is programmed to the address written.
2. Write the program burst command, 0x25, to the FCMD register.
3. Clear the FCBEF flag in the FSTAT register by writing a 1 to FCBEF to launch the program burst
command.
4. After the FCBEF flag in the FSTAT register returns to a 1, repeat steps 1 through 3. The address
written is ignored but is incremented internally.
The burst program procedure can be used to program the entire flash memory even while crossing row
boundaries within the flash array. If data to be burst programmed falls within a protected area of the flash
array, FSTAT[FPVIOL] is set and the burst program command does not launch. After the burst program
command has successfully launched and the burst program operation has completed, FSTAT[FCCF] is set
unless a new burst program command write sequence has been buffered. By executing a new burst
program command write sequence on sequential addresses after the FCBEF flag in the FSTAT register has
been set, a greater than 50% faster programming time for the entire flash array can be effectively achieved
when compared to using the basic program command.