RTEMS CPU Architecture Supplement
Unlike many other architectures, the ARM has seperate stacks for each interrupt. When the CPU receives an interrupt, it:
The vectors for both IRQ and FIQ point to the _ISR_Handler function. _ISR_Handler() calls the BSP specific handler, ExecuteITHandler(). Before calling ExecuteITHandler(), registers R0-R3, R12, and R14(LR) are saved so that it is safe to call C functions. Even ExecuteITHandler() can be written in C.
RTEMS CPU Architecture Supplement
Copyright © 1988-2008 OAR Corporation