The Cortex-M4 Processor
ARM DUI 0553A
Copyright © 2010 ARM. All rights reserved.
2-23
ID121610
Non-Confidential
For an asynchronous exception, other than reset, the processor can execute another instruction
between when the exception is triggered and when the processor enters the exception handler.
Privileged software can disable the exceptions that
shows as having
configurable priority, see:
•
System Handler Control and State Register
•
Interrupt Clear-enable Registers
.
For more information about HardFaults, MemManage faults, BusFaults, and UsageFaults, see
.
2.3.3
Exception handlers
The processor handles exceptions using:
Interrupt Service Routines (ISRs)
The IRQ interrupts are the exceptions handled by ISRs.
Fault handlers
HardFault, MemManage fault, UsageFault, and BusFault are fault
exceptions handled by the fault handlers.
System handlers
NMI, PendSV, SVCall SysTick, and the fault exceptions are all system
exceptions that are handled by system handlers.
2.3.4
Vector table
The vector table contains the reset value of the stack pointer, and the start addresses, also called
exception vectors, for all exception handlers.
shows the order of the
exception vectors in the vector table. The least-significant bit of each vector must be 1,
indicating that the exception handler is Thumb code, see
.
11
-5
SVCall
Configurable
0x0000002C
Synchronous
12-13
-
Reserved
-
-
-
14
-2
PendSV
Configurable
0x00000038
Asynchronous
15
-1
SysTick
Configurable
0x0000003C
Asynchronous
16 0
Interrupt
(IRQ)
Configurable
d
0x00000040
e
Asynchronous
a. To simplify the software layer, the CMSIS only uses IRQ numbers and therefore uses negative values for exceptions other than
interrupts. The IPSR returns the Exception number, see
Interrupt Program Status Register
b. See
c. See
System Handler Priority Registers
d. See
e. Increasing in steps of 4.
Table 2-16 Properties of the different exception types (continued)
Exception
number
a
IRQ
number
a
Exception type
Priority
Vector address
or offset
b
Activation