ATSAML21J18BU interrupt vectors
The vector table at the start of flash (VTOR moves it): word 0 is the initial stack pointer, then the 6 core exceptions (numbered below 0 as CMSIS does) and the 28 peripheral interrupts, IRQ 0 up. Each entry is the 4-byte address of its handler, at 4 × (IRQn + 16). The NVIC enables each IRQ and sets its priority; in C a handler is a function with the name below, e.g. void SERCOM0_Handler(void), and NVIC_EnableIRQ(SERCOM0_IRQn) turns it on.
| IRQn | Table offset | Name | Handler | Source |
|---|---|---|---|---|
| – | 0x0000 | Initial SP | the stack's top: _estack | Loaded into SP at reset, before Reset_Handler runs |
| -15 | 0x0004 | Reset | Reset_Handler | Reset Vector, invoked on Power up and warm reset |
| -14 | 0x0008 | NonMaskableInt | NonMaskableInt_Handler | Non maskable Interrupt, cannot be stopped or preempted |
| -13 | 0x000C | HardFault | HardFault_Handler | Hard Fault, all classes of Fault |
| -5 | 0x002C | SVCall | SVCall_Handler | System Service Call via SVC instruction |
| -2 | 0x0038 | PendSV | PendSV_Handler | Pendable request for system service |
| -1 | 0x003C | SysTick | SysTick_Handler | System Tick Timer |
| 0 | 0x0040 | SYSTEM | SYSTEM_Handler · SYSTEM_IRQn | System peripherals shared interrupt |
| 1 | 0x0044 | WDT | WDT_Handler · WDT_IRQn | Watchdog Timer |
| 2 | 0x0048 | RTC | RTC_Handler · RTC_IRQn | Real Time Counter |
| 3 | 0x004C | EIC | EIC_Handler · EIC_IRQn | External Interrupt Controller |
| 4 | 0x0050 | NVMCTRL | NVMCTRL_Handler · NVMCTRL_IRQn | Non-Volatile Memory Controller |
| 5 | 0x0054 | DMAC | DMAC_Handler · DMAC_IRQn | Direct Memory Controller |
| 6 | 0x0058 | USB | USB_Handler · USB_IRQn | Universal Serial Bus |
| 7 | 0x005C | EVSYS | EVSYS_Handler · EVSYS_IRQn | Event Systems |
| 8 | 0x0060 | SERCOM0 | SERCOM0_Handler · SERCOM0_IRQn | Serial Communication Interface 0 |
| 9 | 0x0064 | SERCOM1 | SERCOM1_Handler · SERCOM1_IRQn | Serial Communication Interface 1 |
| 10 | 0x0068 | SERCOM2 | SERCOM2_Handler · SERCOM2_IRQn | Serial Communication Interface 2 |
| 11 | 0x006C | SERCOM3 | SERCOM3_Handler · SERCOM3_IRQn | Serial Communication Interface 3 |
| 12 | 0x0070 | SERCOM4 | SERCOM4_Handler · SERCOM4_IRQn | Serial Communication Interface 4 |
| 13 | 0x0074 | SERCOM5 | SERCOM5_Handler · SERCOM5_IRQn | Serial Communication Interface 5 |
| 14 | 0x0078 | TCC0 | TCC0_Handler · TCC0_IRQn | Timer/Counter for Control Applications 0 |
| 15 | 0x007C | TCC1 | TCC1_Handler · TCC1_IRQn | Timer/Counter for Control Applications 1 |
| 16 | 0x0080 | TCC2 | TCC2_Handler · TCC2_IRQn | Timer/Counter for Control Applications 2 |
| 17 | 0x0084 | TC0 | TC0_Handler · TC0_IRQn | Timer/Counter 0 |
| 18 | 0x0088 | TC1 | TC1_Handler · TC1_IRQn | Timer/Counter 1 |
| 19 | 0x008C | TC2 | TC2_Handler · TC2_IRQn | Timer/Counter 2 |
| 20 | 0x0090 | TC3 | TC3_Handler · TC3_IRQn | Timer/Counter 3 |
| 21 | 0x0094 | TC4 | TC4_Handler · TC4_IRQn | Timer/Counter 4 |
| 22 | 0x0098 | ADC | ADC_Handler · ADC_IRQn | Analog-to-Digital Converter |
| 23 | 0x009C | AC | AC_Handler · AC_IRQn | Analog Comparators |
| 24 | 0x00A0 | DAC | DAC_Handler · DAC_IRQn | Digital-to-Analog Converter |
| 25 | 0x00A4 | PTC | PTC_Handler · PTC_IRQn | Peripheral Touch Controller |
| 26 | 0x00A8 | AES | AES_Handler · AES_IRQn | Advanced Encryption Standard |
| 27 | 0x00AC | TRNG | TRNG_Handler · TRNG_IRQn | True Random Number Generator |