How to Map Interrupt Routines to Interrupt Vectors

NOTE

This section does not apply to Cortex-M devices.

To map Cortex-A interrupt routines to interrupt vectors you need to include a intvecs.asm file. This file will contain assembly language directives that can be used to set up the ARM's interrupt vectors with branches to your interrupt routines. Follow these steps to use this file:

  1. Using Example 7 as a guide, create intvecs.asm and include your interrupt routines. For each routine:
    1. At the beginning of the file, add a .global directive that names the routine.
    2. Modify the appropriate .word directive to create a branch to the name of your routine.
  2. Assemble and link intvecs.asm with your applications code and with the compiler's linker control file (lnk16.cmd or lnk32.cmd). The control file contains a SECTIONS directive that maps the .intvecs section into the memory locations 0x00-0x1F.

For example, on an ARM v4 target, if you have written a C interrupt routine for the IRQ interrupt called c_intIRQ and an assembly language routine for the FIQ interrupt called tim1_int, you should create intvecs.asm as in Example 7.