
Flash memory
MPC5644A Microcontroller Reference Manual, Rev. 6
Freescale Semiconductor
245
12.4
Functional description
12.4.1
Flash
User Mode
In user mode the flash module can be read and written (register writes and interlock writes), programmed
or erased. The following subsections define all actions that can be performed in user mode.
12.4.2
Flash Read and Write
The default state of the flash module is read. The main and shadow address space can be read only in the
read state. The module configuration register (MCR) is always available for read. The flash module enters
the read state on reset. The flash module is in the read state under three sets of conditions:
•
The read state is active when PGM = 1 or ERS = 1 in the MCR and high-voltage operation is
ongoing (read while write).
NOTE
Reads done to the partition(s) being operated on (either erased or
programmed) will result in an error and the RWE bit in the MCR will be set.
•
The read state is active when PGM = 1 and PSUS = 1 in the MCR (program suspend).
•
The read state is active when ERS = 1 and ESUS = 1 and PGM = 0 in the MCR (erase suspend).
NOTE
FC reads are done through the BIU. In many cases the BIU will do page
buffering to allow sequential reads to be done with higher performance. This
can create a data coherency issue that must be handled with software. Data
coherency can be an issue after a program, erase, or shadow row operations.
In flash user mode, registers can be written. Array can be written to do interlock writes.
Array reads attempted to invalid locations will result in indeterminate data. Invalid locations occur when
addressing is done to blocks that do not exist in non 2
n
array sizes.
Interlock writes attempted to invalid locations (due to blocks that do not exist in non 2
n
array sizes), will
result in an interlock occurring, but attempts to program or erase these blocks will not occur since they are
forced to be locked.
12.4.3
Read While Write (RWW)
The flash core is divided into partitions. Partitions always comprise two or more blocks. Partitions are used
to determine read-while-write (RWW) groupings. While a write (program or erase) is being done within a
given partition, a read can be simultaneously executed to any other partition. Partitions are listed in
. Each partition in high address space comprises two 128 KB blocks. The shadow block has
unique RWW restrictions described in
Section 12.4.7, Flash shadow block
The FC is also divided into blocks to implement independent erase or program protection. The shadow
block exists outside the normal address space and is programmed, erased, and read independently of the
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...