The Cortex-M4 processor PM0214
38/262 PM0214 Rev 10
Bus fault A bus fault is an exception that occurs because of a memory related
fault for an instruction or data memory transaction. This might be from
an error detected on a bus in the memory system.
Usage fault A usage fault is an exception that occurs in case of an instruction
execution fault. This includes:
• An undefined instruction
• An illegal unaligned access
• Invalid state on instruction execution
• An error on exception return.
The following can cause a usage fault when the core is configured to
report it:
• An unaligned address on word and halfword memory access
• Division by zero
SVCall A supervisor call (SVC) is an exception that is triggered by the SVC
instruction. In an OS environment, applications can use SVC
instructions to access OS kernel functions and device drivers.
PendSV PendSV is an interrupt-driven request for system-level service. In an
OS environment, use PendSV for context switching when no other
exception is active.
SysTick A SysTick exception is an exception the system timer generates when
it reaches zero. Software can also generate a SysTick exception. In an
OS environment, the processor can use this exception as system tick.
Interrupt (IRQ) An interrupt, or IRQ, is an exception signalled by a peripheral, or
generated by a software request. All interrupts are asynchronous to
instruction execution. In the system, peripherals use interrupts to
communicate with the processor.
Table 17. Properties of the different exception types
Exception
number
(1)
IRQ
number
(1)
Exception
type
Priority
Vector address
or offset
(2)
Activation
1 - Reset -3, the highest 0x00000004 Asynchronous
2 -14 NMI -2 0x00000008 Asynchronous
3 -13 Hard fault -1 0x0000000C -
4 -12
Memory
management fault
Configurable
(3)
0x00000010 Synchronous
5 -11 Bus fault Configurable
(3)
0x00000014
Synchronous when precise
Asynchronous when imprecise
6 -10 Usage fault Configurable
(3)
0x00000018 Synchronous
7-10 - - - Reserved -
11 -5 SVCall Configurable
(3)
0x0000002C Synchronous
12-13 - - - Reserved -
14 -2 PendSV Configurable
(3)
0x00000038 Asynchronous