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
20 of 571
NXP Semiconductors
UM10316
Chapter 2: LPC29xx memory mapping
Region 4 is reserved for internal SRAM. The LPC29xx has two internal SRAM instances.
Instance #0 is 32 kB, instance #1 is 16 kB. See
.
3.6 Regions 5 and 6
Regions 5 and 6 are not used.
3.7 Region 7: bus-peripherals area
gives a graphical overview of the bus-peripherals area memory map.
Region 7 is reserved for all stand-alone memory-mapped bus peripherals.
The lower part of region 7 is again divided into APB clusters, also referred to as
subsystems in this User Manual. A APB cluster is typically used as the address space for
a set of APB peripherals connected to a single AHB2APB bridge, the slave on the AHB
system bus. The clusters are aligned on 256 kB boundaries. In the LPC29xx four APB
clusters are in use: General SubSystem (GeSS), Peripheral SubSystem (PeSS),
Networking SubSystem (IVNSS), and the Modulation and Sampling SubSystem
(MSCSS). The APB peripherals are aligned on 4 kB boundaries inside the APB clusters.
The upper part of region 7 is used as the memory area where memory-mapped register
interfaces of stand-alone AHB peripherals and a DTL cluster reside. Each of these is a
slave on the AHB system bus. In the LPC29xx two such slaves are present: the Power,
Clock and Reset subsystem (PCRSS) and the Vectored Interrupt Controller (VIC). The
PCRSS is a DTL cluster in which the CGU, PMU and RGU are connected to the AHB
system bus via an AHB2DTL adapter. The VIC is a DTL target connected to the AHB
system bus via its own AHB2DTL adapter.
4.
Memory-map operating concepts
The basic concept in the LPC29xx is that each memory area has a ‘natural’ location in the
memory map. This is the address range for which code residing in that area is written.
Each memory space remains permanently fixed in the same location, eliminating the need
to have portions of the code designed to run in different address ranges.
Because of the location of the exception-handler vectors on the ARM9 processor (at
addresses 0000 0000h through 0000 001Ch: see
) By default, after reset, the
embedded flash is mapped at address 0000 0000h to allow initial code to be executed
and to perform the required initialization, which starts executing at 0000 0000h.
The LPC29xx generates the appropriate bus-cycle abort exception if an access is
attempted for an address that is in a reserved or unused address region or unassigned
peripheral spaces. For these areas both attempted data accesses and instruction fetches
generate an exception. Note that write-access addresses should be word-aligned in ARM
code or half-word aligned in Thumb code. Byte-aligned writes are performed as word or
half-word aligned writes without error signalling.
Within the address space of an existing 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. Details of address aliasing within a peripheral space are not defined in the LPC29xx
documentation and are not a supported feature.