Datasheet
70
SAM4S [DATASHEET]
11100E–ATARM–24-Jul-13
An illegal unaligned access
An invalid state on instruction execution
An error on exception return.
The following can cause a Usage Fault when the core is configured to report them:
An unaligned address on word and halfword memory access
A 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)
A 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.
Notes: 1. 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” .
2. See “Vector Table” for more information
3. See “System Handler Priority Registers”
4. See “Interrupt Priority Registers”
5. Increasing in steps of 4.
Table 12-9. 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
15 -1 SysTick Configurable
(3)
0x0000003C Asynchronous
16 and above 0 and above Interrupt (IRQ) Configurable
(4)
0x00000040 and
above
(5)
Asynchronous