
UM10413
All information provided in this document is subject to legal disclaimers.
© NXP B.V. 2011. All rights reserved.
User manual
Rev. 1 — 16 December 2011
11 of 268
NXP Semiconductors
UM10413
MPT612 User manual
7.2.2 Memory remapping
In order to allow for compatibility with future derivatives, the entire boot block is mapped to
the top of the on-chip memory space. This arrangement avoids larger or smaller flash
modules having to change the location of the boot block (which requires changing the
bootloader code) or changing the boot block interrupt vector mapping. Memory spaces
other than the interrupt vectors remain in fixed locations.
shows the on-chip
memory mapping in the modes defined in
The portion of memory remapped to allow interrupt processing in different modes includes
the interrupt vector area (32 bytes) and an additional 32 bytes for a total of 64 bytes. The
remapped code locations overlay addresses 0x0000 0000 through 0x0000 003F. A typical
user program in the flash memory can place the entire FIQ handler at address
0x0000 001C without any need to consider memory boundaries. The vector in the SRAM,
external memory, and boot block, must contain branches to the interrupt handlers, or to
other instructions that establish the branch to the interrupt handlers.
There are three reasons this configuration was chosen:
•
To give the FIQ handler in the flash memory the advantage of not having to take a
memory boundary, caused by the remapping, into account.
•
Minimize the need for the SRAM and boot block vectors to deal with arbitrary
boundaries in the middle of code space.
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
Remark:
Identified as reserved in ARM documentation, used by the
bootloader as the valid user program key. Details described in
0x0000 0018
IRQ
0x0000 001C
FIQ
Table 4.
MPT612 memory mapping modes
Mode
Activation
Usage
Boot
loader
mode
hardware
activation by
any reset
bootloader
always
executes after any reset. 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 bootloader when a valid user program signature is
recognized in memory and bootloader operation is not forced. Interrupt
vectors are not remapped and are found at the bottom of the flash
memory.
User RAM
mode
software
activation by
user program
activated by a user program as desired. Interrupt vectors are
remapped to the bottom of the static RAM.