The following topics describe how to handle the different types of exception supported by the ARM architecture:
About processor exceptions
Exception handling process
Types of exception in ARMv6 and earlier, ARMv7-A and ARMv7-R profiles
Vector table for ARMv6 and earlier, ARMv7-A and ARMv7-R profiles
Processor modes and registers in ARMv6 and earlier, ARMv7-A and ARMv7-R profiles
Use of System mode for exception handling
The processor response to an exception
Return from an exception handler
Reset handlers
Data Abort handler
Interrupt handlers and levels of external interrupt
Reentrant interrupt handlers
Example interrupt handlers in assembly language
Single-channel DMA transfer
Dual-channel DMA transfer
Interrupt prioritization
Context switch
SVC handlers
Determining the SVC to be called
SVC handlers in assembly language
SVC handlers in C and assembly language
Using SVCs in Supervisor mode
Calling SVCs from an application
Calling SVCs dynamically from an application
Prefetch Abort handler
Undefined instruction handlers
ARMv6-M and ARMv7-M profiles
Main and Process Stacks
Types of exceptions in the microcontroller profiles
Vector table for ARMv6-M and ARMv7-M profiles
Vector Table Offset Register (ARMv7-M only)
Writing the exception table for ARMv6-M and ARMv7-M profiles
The Nested Vectored Interrupt Controller
Handling an exception
Configuring the System Control Space registers
Configuring individual IRQs
Supervisor calls
System timer
Configuring SysTick.