
Flash memory
MPC5644A Microcontroller Reference Manual, Rev. 6
252
Freescale Semiconductor
12.4.5.1
Software Locking
A software mechanism is provided to independently lock/unlock each high-, mid-, and low-address space
against program and erase.
Software locking is done through the LMLR (low/mid-address space block lock register), SLMLR
(secondary low/mid-address space block lock register), or HLR (high-address space block lock register).
These can be written through register writes and read through register reads.
When the program/erase operations are enabled through hardware, software locks are enforced through
doing register writes.
12.4.5.1.1
Flash
Program Suspend/Resume
The program sequence may be suspended to allow read access to the flash core. It is not possible to erase
or program during a program suspend. Interlock writes should not be attempted during program suspend.
A program suspend can be initiated by changing the value of the MCR[PSUS] bit from a 0 to a 1.
MCR[PSUS] can be set high at any time when MCR[PGM] and MCR[EHV] are high. A 0 to 1 transition
of MCR[PSUS] causes the flash module to start the sequence to enter program suspend, which is a read
state. The module is not suspended until MCR[DONE] = 1. At this time flash core reads may be attempted.
After it is suspended, the flash core may be read only. Reads to the blocks being programmed/erased return
indeterminate data.
The program sequence is resumed by writing a logic 0 to MCR[PSUS]. MCR[EHV] must be set to a 1
before clearing MCR[PSUS] to resume operation. When the operation resumes, the flash module
continues the program sequence from one of a set of predefined points. This may extend the time required
for the program operation.
12.4.6
Flash
Erase
Erase changes the value stored in all bits of the selected block(s) to logic 1. An erase sequence operates on
any combination of blocks in the Low, Mid or High Address Space, or the shadow block. The erase
sequence is fully automated within the flash. The user only needs to select the blocks to be erased and
initiate the erase sequence. Locked/disabled blocks cannot be erased. If multiple blocks are selected for
erase during an erase sequence, the blocks are erased sequentially starting with the lowest numbered block
and terminating with the highest. The erase sequence consists of the following sequence of events:
The erase sequence consists of the following sequence of events:
1. Change the value in the MCR[ERS] bit from 0 to a 1.
2. Select the block, or blocks, to be erased by writing 1s to the appropriate bits in LMSR or HSR. If
the shadow row is to be erased, this step may be skipped, and LMSR and HSR are ignored. For
shadow row erase, see
Section 12.4.7, Flash shadow block,
for more information.
Summary of Contents for MPC5644A
Page 2: ...MPC5644A Microcontroller Reference Manual Rev 6 2 Freescale Semiconductor...
Page 24: ...MPC5644A Microcontroller Reference Manual Rev 6 24 Freescale Semiconductor...
Page 26: ...MPC5644A Microcontroller Reference Manual Rev 6 26 Freescale Semiconductor...
Page 52: ...Introduction MPC5644A Microcontroller Reference Manual Rev 6 52 Freescale Semiconductor...
Page 56: ...Memory Map MPC5644A Microcontroller Reference Manual Rev 6 56 Freescale Semiconductor...
Page 1228: ...Decimation Filter MPC5644A Microcontroller Reference Manual Rev 6 1228 Freescale Semiconductor...
Page 1440: ...FlexCAN Module MPC5644A Microcontroller Reference Manual Rev 6 1440 Freescale Semiconductor...