DR
AFT
DR
AFT
DRAFT
DR
D
RAFT
DRAFT
DRA
FT DRAF
D
RAFT DRAFT DRAFT DRAFT DRAFT D
DRAFT
D
RAFT DRA
FT DRAFT DRAFT DRAFT DRA
UM10316_0
© NXP B.V. 2008. All rights reserved.
User manual
Rev. 00.06 — 17 December 2008
485 of 571
NXP Semiconductors
UM10316
Chapter 28: LPC29xx Flash/EEPROM
•
In case the default address post-incrementing is used the upper boundary of the page
register may not be crossed.
•
Before reading the just written data the contents of the page register needs to be
programmed into non-volatile memory.
•
Write operations to a misaligned address will result on an error response on the write
transfer to the write data register (for example a 32-bit write operation to an address
other than a multiple of 0x4). The operation will not be performed.
2.10.2 Programming
When the page register has been written the data has to programmed into non-volatile
memory. This is a separate step, writing only the page register will not write the EEPROM
memory.
Programming the page into memory takes a long time, therefore the corresponding
interrupt can be enabled or the interrupt status bit can be polled to avoid stalling of the
system bus.
An erase/program operation starts by providing the MSBs of the address that selects the
page in memory of a device. The 6 LSBs are “don’t care”. The operation is started by
writing the command register (selecting the erase/program operation).
2.10.3 Reading
The EEPROM controller supports reading of 8-bit, 16-bit or 32-bit elements. Since the
EEPROM device doesn’t support 32-bit operations the controller splits the operation into
two 16-bit operations.
For doing a read operation first an address needs to be written into the address register.
Then the operation needs to be selected in the command register. Writing the command
register will automatically start the read operation on the EEPROM device.
Fig 125. Programming a page into memory
write address register
(MSB bits)
w r i t e c o m m a n d r e g i s t e r
(erase/program operation)
erase/program oper-
ation on EEPROM
now starts