MPC563XM Reference Manual, Rev. 1
292
Freescale Semiconductor
Preliminary—Subject to Change Without Notice
before the module is suspended and further actions are attempted. After it is suspended, the array can be
read or a program sequence can be initiated (erase-suspended program). Before initiating a program
sequence the user must first clear CFLASH_MCR[EHV]. If a program sequence is initiated the value of
the CFLASH_MCR[PEAS] is not reset. These values are fixed at the time of the first interlock of the erase.
Flash core reads while CFLASH_MCR[ESUS] = 1 from the blocks being erased return indeterminate data.
Example 11-2. Sector Erase Suspend
CFLASH_MCR
= 0x00000007;
/* Set ESUS in MCR: Erase Suspend */
do
/* Loop to wait for DONE=1 */
{ tmp
= MCR;
/* Read MCR */
} while ( !(tmp & 0x00000400) );
Notice that there is no need to clear MCR.EHV and MCR.ERS in order to perform reads during erase
suspend.
The erase operation is resumed by clearing the CFLASH_MCR[ESUS] bit. The Flash continues the erase
sequence from one of a set of predefined points. This can extend the time required for the erase operation.
Example 11-3. Sector Erase Resume
CFLASH_MCR
= 0x00000005;
/* Reset ESUS in MCR: Erase Resume */
WARNING
In an erase-suspended program, programming Flash locations in blocks
which were being operated on in the erase can corrupt Flash core data.