LPC2119/2129/2292/2294 Memory Addressing
36
Philips Semiconductors
Preliminary User Manual
LPC2119/2129/2292/2294
ARM-based Microcontroller
LPC2119/2129/2292/2294 MEMORY RE-MAPPING AND BOOT BLOCK
Memory Map Concepts and Operating Modes
The basic concept on the LPC2119/2129/2292/2294 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. The bulk of 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 interrupt vectors on the ARM7 processor (at addresses 0x0000 0000 through 0x0000 001C, as
shown in Table 3 below), a small portion of the Boot Block and SRAM spaces need to be re-mapped in order to allow alternative
uses of interrupts in the different operating modes described in Table 4. Re-mapping of the interrupts is accomplished via the
Memory Mapping Control feature described in the System Control Block section.
*: Identified as reserved in ARM documentation, this location is used by the Boot Loader as the Valid User Program key. This is
descibed in detail in Flash Memory System and Programming on page 228.
Table 3: ARM Exception Vector Locations
Address
Exception
0x0000 0000
Reset
0x0000 0004
Undefined Instruction
0x0000 0008
Software Interrupt
0x0000 000C
Prefetch Abort (instruction fetch memory fault)
0x0000 0010
Data Abort (data access memory fault)
0x0000 0014
Reserved *
0x0000 0018
IRQ
0x0000 001C
FIQ
Table 4: LPC2119/2129/2292/2294 Memory Mapping Modes
Mode
Activation
Usage
Boot Loader
mode
Hardware activation
by any Reset
The Boot Loader always executes after any reset. The Boot Block interrupt vectors are
mapped to the bottom of memory to allow handling exceptions and using interrupts
during the Boot Loading process.
User Flash
mode
Software activation
by Boot code
Activated by Boot Loader when a valid User Program Signature is recognized in memory
and Boot Loader operation is not forced. Interrupt vectors are not re-mapped and are
found in the bottom of the Flash memory.
User RAM
mode
Software activation
by User program
Activated by a User Program as desired. Interrupt vectors are re-mapped to the bottom
of the Static RAM.
User External
mode
Activated by
BOOT1:0 pins not
11 at Reset
Activated by the Boot Loader when either or both BOOT pins are low at the end of
RESET low. Interrupt vectors are re-mapped from the bottom of the external memory
map.
Note:
This mode is available in LPC2292/2294 only!