4.1.10. __irq

The __irq keyword enables a C or C++ function to be used as an interrupt routine.

__irq is a function qualifier. It affects the type of the function.


All corrupted registers except floating-point registers are preserved, not only those that are normally preserved under the AAPCS. The default AAPCS mode must be used.

The function exits by setting the program counter to lr-4 and the CPSR to the value in SPSR. No arguments or return values can be used with __irq functions.


When compiling for Thumb using the --thumb option or #pragma thumb, any functions specified as __irq are compiled for ARM.

See also

Copyright © 2007, 2010 ARM Limited. All rights reserved.ARM DUI 0348A