The file <cyg/hal/hal_platform_ints.h> (located at
hal/arm/arm9/at91sam7/VERSION/include/hal_platform_ints.h
in the eCos source repository) contains interrupt vector number definitions for
use with the eCos kernel and driver interrupt APIs. The exact set of
vectors supported depends on the AT91SAM7 model:
For the AT91SAM7S family:
#define CYGNUM_HAL_INTERRUPT_FIQ 0 // Advanced Interrupt Controller (FIQ)
#define CYGNUM_HAL_INTERRUPT_SYS 1 // System Peripheral (debug unit, system timer)
#define CYGNUM_HAL_INTERRUPT_PIOA 2 // Parallel IO Controller A
#define CYGNUM_HAL_INTERRUPT_ADC 4 // Analog-to-Digital Converter
#define CYGNUM_HAL_INTERRUPT_SPI 5 // Serial Peripheral Interface
#define CYGNUM_HAL_INTERRUPT_USART0 6 // USART 0
#define CYGNUM_HAL_INTERRUPT_USART1 7 // USART 1
#define CYGNUM_HAL_INTERRUPT_SSC 8 // Serial Synchronous Controller
#define CYGNUM_HAL_INTERRUPT_TWI 9 // Two-Wire Interface (I2C)
#define CYGNUM_HAL_INTERRUPT_PWMC 10 // PWM Controller
#define CYGNUM_HAL_INTERRUPT_UDP 11 // USB Device Port
#define CYGNUM_HAL_INTERRUPT_TC0 12 // Timer Counter 0
#define CYGNUM_HAL_INTERRUPT_TC1 13 // Timer Counter 1
#define CYGNUM_HAL_INTERRUPT_TC2 14 // Timer Counter 2
#define CYGNUM_HAL_INTERRUPT_IRQ0 30 // External IRQ0
#define CYGNUM_HAL_INTERRUPT_IRQ1 31 // External IRQ0
// Interrupts which are multiplexed on to the System Interrupt
#define CYGNUM_HAL_INTERRUPT_PITC 32 // Period Interval Timer
#define CYGNUM_HAL_INTERRUPT_RTTC 33 // Real-Time Timer
#define CYGNUM_HAL_INTERRUPT_PMC 34 // Power Management Controller
#define CYGNUM_HAL_INTERRUPT_MC 35 // Memory Controller
#define CYGNUM_HAL_INTERRUPT_WDTC 36 // Watchdog
#define CYGNUM_HAL_INTERRUPT_RSTC 37 // Reset Controller
#define CYGNUM_HAL_INTERRUPT_DEBUG 38 // Debug Serial Port
For the AT91SAM7X family:
#define CYGNUM_HAL_INTERRUPT_FIQ 0 // Advanced Interrupt Controller (FIQ)
#define CYGNUM_HAL_INTERRUPT_SYS 1 // System Peripheral (debug unit, system timer)
#define CYGNUM_HAL_INTERRUPT_PIOA 2 // Parallel IO Controller A
#define CYGNUM_HAL_INTERRUPT_PIOB 3 // Parallel IO Controller B
#define CYGNUM_HAL_INTERRUPT_SPI 4 // Serial Peripheral Interface
#define CYGNUM_HAL_INTERRUPT_SPI1 5 // Serial Peripheral Interface 1
#define CYGNUM_HAL_INTERRUPT_USART0 6 // USART 0
#define CYGNUM_HAL_INTERRUPT_USART1 7 // USART 1
#define CYGNUM_HAL_INTERRUPT_SSC 8 // Serial Synchronous Controller
#define CYGNUM_HAL_INTERRUPT_TWI 9 // Two-Wire Interface (I2C)
#define CYGNUM_HAL_INTERRUPT_PWMC 10 // PWM Controller
#define CYGNUM_HAL_INTERRUPT_UDP 11 // USB Device Port
#define CYGNUM_HAL_INTERRUPT_TC0 12 // Timer Counter 0
#define CYGNUM_HAL_INTERRUPT_TC1 13 // Timer Counter 1
#define CYGNUM_HAL_INTERRUPT_TC2 14 // Timer Counter 2
#define CYGNUM_HAL_INTERRUPT_CAN 15 // CAN Controller
#define CYGNUM_HAL_INTERRUPT_EMAC 16 // Ethernet MAC
#define CYGNUM_HAL_INTERRUPT_ADC 17 // Analog-to-Digital Converter
#define CYGNUM_HAL_INTERRUPT_IRQ0 30 // External IRQ0
#define CYGNUM_HAL_INTERRUPT_IRQ1 31 // External IRQ0
// Interrupts which are multiplexed on to the System Interrupt
#define CYGNUM_HAL_INTERRUPT_PITC 32 // Period Interval Timer
#define CYGNUM_HAL_INTERRUPT_RTTC 33 // Real-Time Timer
#define CYGNUM_HAL_INTERRUPT_PMC 34 // Power Management Controller
#define CYGNUM_HAL_INTERRUPT_MC 35 // Memory Controller
#define CYGNUM_HAL_INTERRUPT_WDTC 36 // Watchdog
#define CYGNUM_HAL_INTERRUPT_RSTC 37 // Reset Controller
#define CYGNUM_HAL_INTERRUPT_DEBUG 38 // Debug Serial Port