English
Language : 

PXD10RM Datasheet, PDF (589/1332 Pages) Freescale Semiconductor, Inc – PXD10 Microcontroller
If the device embeds more than one Flash Macrocell and a Modify Operation is on-going on one of them,
then it is forbidden to start any other Modify Operation on the other Flash Macrocells.
In the following all the possible Modify Operations are described and some examples of the sequences
needed to activate them are presented.
17.2.7.1.1 Double Word Program
A Flash Program sequence operates on any Double Word within the Flash Core.
Up to 2 words within the Double Word may be altered in a single Program operation.
Whenever you program, ECC bits also get programmed (unless the selected address belongs to a sector in
which the ECC has been disabled in order to allow bit manipulation). ECC is handled on a 64-bit boundary.
Thus, if only one word in any given 64-bit ECC segment is programmed, the adjoining word (in that
segment) should not be programmed since ECC calculation has already completed for that 64-bit segment.
Attempts to program the adjoining word will probably result in an operation failure. It is recommended
that all programming operations be of 64 bits. The programming operation should completely fill selected
ECC segments within the Double Word.
Programming changes the value stored in an array bit from logic 1 to logic 0 only. Programming cannot
change a stored logic 0 to a logic 1.
Addresses in locked/disabled blocks cannot be programmed.
The user may program the values in any or all of 2 words, of a Double Word, with a single program
sequence.
Double Word-bound words have addresses which differ only in address bit 2.
The Program operation consists of the following sequence of events:
1. Change the value in the MCR.PGM bit from 0 to 1.
2. Ensure the block that contains the address to be programmed is unlocked.
Write the first address to be programmed with the program data.
The Flash Module latches address bits (22:3) at this time.
The Flash Module latches data written as well.
This write is referred to as a program data interlock write. An interlock write may be as large as 64
bits, and as small as 32 bits (depending on the CPU bus).
3. If more than 1 word is to be programmed, write the additional address in the Double Word with
data to be programmed. This is referred to as a program data write.
The Flash Modules ignores address bits (22:3) for program data writes.
The eventual unwritten data word default to 0xFFFFFFFF.
4. Write a logic 1 to the MCR.EHV bit to start the internal program sequence or skip to step 9 to
terminate.
5. Wait until the MCR.DONE bit goes high.
6. Confirm MCR.PEG=1.
7. Write a logic 0 to the MCR.EHV bit.
8. If more addresses are to be programmed, return to step 2.
Freescale Semiconductor
PXD10 Microcontroller Reference Manual, Rev. 1
Preliminary—Subject to Change Without Notice
17-39