Nxp Semiconductors UM10237 User Manual

Page of 792
UM10237_2
© NXP B.V. 2008. All rights reserved.
User manual
Rev. 02 — 19 December 2008 
27 of 792
NXP Semiconductors
UM10237
Chapter 2: LPC24XX Memory mapping
7.
Prefetch abort and data abort exceptions
The LPC2400 generates the appropriate bus cycle abort exception if an access is 
attempted for an address that is in a reserved or unassigned address region. The regions 
are:
Areas of the memory map that are not implemented for a specific ARM derivative. For 
the LPC2400, these are:
– Address space between On-Chip Non-Volatile Memory and the Special Register 
space. Labelled "Reserved for On-Chip Memory" in 
– Address space between On-Chip Static RAM and the Boot ROM. Labelled 
"Reserved Address Space" in 
.
– External Memory
– Reserved regions of the AHB and APB spaces. See 
.
Unassigned AHB peripheral spaces. See 
Unassigned APB peripheral spaces. See 
For these areas, both attempted data access and instruction fetch generate an exception. 
In addition, a Prefetch Abort exception is generated for any instruction fetch that maps to 
an AHB or APB peripheral address, or to the Special Register space located just below 
the SRAM at addresses 0x3FFF8000 through 0x3FFFFFFF.
Within the address space of an existing APB peripheral, a data abort exception is not 
generated in response to an access to an undefined address. Address decoding within 
each peripheral is limited to that needed to distinguish defined registers within the 
peripheral itself. For example, an access to address 0xE000 D000 (an undefined address 
within the UART0 space) may result in an access to the register defined at address 
0xE000 C000. Details of such address aliasing within a peripheral space are not defined 
in the LPC2400 documentation and are not a supported feature.
If software executes a write directly to the flash memory, the MAM generates a data abort 
exception. Flash programming must be accomplished by using the specified flash 
programming interface provided by the Boot Code.
Note that the ARM core stores the Prefetch Abort flag along with the associated 
instruction (which will be meaningless) in the pipeline and processes the abort only if an 
attempt is made to execute the instruction fetched from the illegal address. This prevents 
accidental aborts that could be caused by prefetches that occur when code is executed 
very near a memory boundary.