UM10360 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2013. All rights reserved.
User manual Rev. 3 — 20 December 2013 761 of 841
NXP Semiconductors
UM10360
Chapter 34: Appendix: Cortex-M3 user guide
34.4.2 Nested Vectored Interrupt Controller
This section describes the Nested Vectored Interrupt Controller (NVIC) and the registers it
uses. The NVIC supports:
• Up to 112 interrupts. The number of interrupts implemented is device dependent.
• A programmable priority level of 0 to 31 for each interrupt. A higher level corresponds
to a lower priority, so level 0 is the highest interrupt priority.
• Level and pulse detection of interrupt signals.
• Dynamic reprioritization of interrupts.
• Grouping of priority values into group priority and subpriority fields.
• Interrupt tail-chaining.
• An external Non-maskable interrupt (NMI).
The processor automatically stacks its state on exception entry and unstacks this state on
exception exit, with no instruction overhead. This provides low latency exception handling.
The hardware implementation of the NVIC registers is:
[1] Each array element corresponds to a single NVIC register, for example the element
ICER[1]
corresponds to the ICER1 register.
34.4.2.1 The CMSIS mapping of the Cortex-M3 NVIC registers
To improve software efficiency, the CMSIS simplifies the NVIC register presentation. In the
CMSIS:
• the Set-enable, Clear-enable, Set-pending, Clear-pending and Active Bit registers
map to arrays of 32-bit integers, so that:
– the array
ISER[0]
to
ISER[3]
corresponds to the registers ISER0 - ISER3
– the array
ICER[0]
to
ICER[3]
corresponds to the registers ICER0 - ICER3
– the array
ISPR[0]
to
ISPR[3]
corresponds to the registers ISPR0 - ISPR3
– the array
ICPR[0]
to
ICPR[3]
corresponds to the registers ICPR0 - ICPR3
– the array
IABR[0]
to
IABR[3]
corresponds to the registers IABR0 - IABR3.
• the 8-bit fields of the Interrupt Priority Registers map to an array of 8-bit integers, so
that the array
IP[0]
to
IP[112]
corresponds to the registers IPR0 - IPR59, and the
array entry
IP[n]
holds the interrupt priority for interrupt n.
Table 644. NVIC register summary
Address Name Type Required
privilege
Reset
value
Description
0xE000E100
-
0xE000E10C
ISER0 - ISER3 RW Privileged
0x00000000
Table 646
0XE000E180
-
0xE000E18C
ICER0 - ICER3 RW Privileged
0x00000000
Table 647
0XE000E200
-
0xE000E20C
ISPR0 - ISPR3 RW Privileged
0x00000000
Table 648
0XE000E280
-
0xE000E28C
ICPR0 - ICPR3 RW Privileged
0x00000000
Table 649
0xE000E300
-
0xE000E30C
IABR0 - IABR3 RO Privileged
0x00000000
Table 650
0xE000E400
-
0xE000E46C
IPR0 - IPR27 RW Privileged
0x00000000
Table 651
0xE000EF00
STIR WO Configurable
[1]
0x00000000
Table 652