Cortex-M3 Processor Overview and Debug Features
UG0331 User Guide Revision 15.0
8
2.3
Cortex-M3 Processor NVIC
The Cortex-M3 processor contains an NVIC, which is responsible for:
•
Facilitating low-latency exception and interrupt handling
•
Controlling power management
The NVIC supports 11 exceptions as shown in
page 8. The NVIC also supports up to 83
dynamically re-prioritizable external interrupts, as shown in the
page 8, each with up to 16 levels
of priority. The NVIC maintains knowledge of stacked (nested) interrupts to enable tail-chaining of
interrupts. In MSS, the NVIC is configured to have 16 levels of priority (4 msb in BASEPRI register) are
implemented, so BASEPRI register [7-4] are used for the priority setting and [3-0] are read as zeros.
The following table lists exceptions. The detailed description of these exceptions can be found in the
ARM Cortex-M3 Technical Reference Manual
The interrupt sources listed in the following table are connected to the NVIC of the Cortex-M3 processor
in the MSS.
Table 1 •
Cortex-M3 Processor Exceptions
Cortex-M3 Exceptions
Position in
Interrupt Vector
Table
Priority
Description
Reset
1 (zero position is
stack pointer)
–3
Invoked on power-up and reset
Non-maskable
exception
2
–2
Non-maskable interrupt (NMI)—watchdog timeout
interrupt
HardFault
3
–1
Hard fault interrupt: all fault conditions if the
corresponding fault handler is not enabled
Memory management
exception
4
Configurable Memory management interrupt: memory management
fault; MPU violation or access to illegal locations.
Bus fault exception
5
Configurable Bus fault interrupt: bus error; occurs when the AHB
interface receives an error response from a bus slave
(also called prefetch abort if it is an instruction fetch or
data abort if it is a data access).
UsageFault
6
Configurable Usage fault interrupt: exceptions resulting from a
program error or trying to access a coprocessor (the
Cortex-M3 does not support a coprocessor).
SVCall
11
Configurable Supervisory call interrupt
Debug monitor
12
Configurable Debug monitor interrupt: breakpoints, watchpoints, or
external debug requests
PendSV
14
Configurable Pend supervisory interrupt
SysTick
15
Configurable System tick timer interrupt
Table 2 •
Cortex-M3 Processor Interrupts
Cortex-M3
Interrupt
Signal
Source
Description
INTNMI
WDOGTIMEOUTINT
WATCHDOG
This interrupt is asserted (if enabled) if the counter
reaches zero and interrupt rather than reset
generation has been selected on counter timeout.
INTISR[0]
WDOGWAKEUPINT
WATCHDOG
This interrupt is asserted (if enabled) on crossing
the WDOGMVRP level when the SLEEPING input is
asserted.