ATSAML10E16A 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 45 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_EXTINT_0 | EIC_EXTINT_0_Handler · EIC_EXTINT_0_IRQn | External Channel 0 |
| 4 | 0x0050 | EIC_EXTINT_1 | EIC_EXTINT_1_Handler · EIC_EXTINT_1_IRQn | External Channel 1 |
| 5 | 0x0054 | EIC_EXTINT_2 | EIC_EXTINT_2_Handler · EIC_EXTINT_2_IRQn | External Channel 2 |
| 6 | 0x0058 | EIC_EXTINT_3 | EIC_EXTINT_3_Handler · EIC_EXTINT_3_IRQn | External Channel 3 |
| 7 | 0x005C | EIC_OTHER | EIC_OTHER_Handler · EIC_OTHER_IRQn | External Channel 4/5/6/7 |
| 8 | 0x0060 | FREQM | FREQM_Handler · FREQM_IRQn | Frequency Meter |
| 9 | 0x0064 | NVMCTRL | NVMCTRL_Handler · NVMCTRL_IRQn | Non-Volatile Memory Controller |
| 10 | 0x0068 | PORT | PORT_Handler · PORT_IRQn | Port Non-Secure Check |
| 11 | 0x006C | DMAC_0 | DMAC_0_Handler · DMAC_0_IRQn | DMA Channel 0 |
| 12 | 0x0070 | DMAC_1 | DMAC_1_Handler · DMAC_1_IRQn | DMA Channel 1 |
| 13 | 0x0074 | DMAC_2 | DMAC_2_Handler · DMAC_2_IRQn | DMA Channel 2 |
| 14 | 0x0078 | DMAC_3 | DMAC_3_Handler · DMAC_3_IRQn | DMA Channel 3 |
| 15 | 0x007C | DMAC_OTHER | DMAC_OTHER_Handler · DMAC_OTHER_IRQn | DMA Channel 4..X |
| 16 | 0x0080 | EVSYS_0 | EVSYS_0_Handler · EVSYS_0_IRQn | Event System Channel 0 |
| 17 | 0x0084 | EVSYS_1 | EVSYS_1_Handler · EVSYS_1_IRQn | Event System Channel 1 |
| 18 | 0x0088 | EVSYS_2 | EVSYS_2_Handler · EVSYS_2_IRQn | Event System Channel 2 |
| 19 | 0x008C | EVSYS_3 | EVSYS_3_Handler · EVSYS_3_IRQn | Event System Channel 3 |
| 20 | 0x0090 | EVSYS_NSCHK | EVSYS_NSCHK_Handler · EVSYS_NSCHK_IRQn | Event System Non-Secure Check |
| 21 | 0x0094 | PAC | PAC_Handler · PAC_IRQn | Peripheral Access Controller |
| 22 | 0x0098 | SERCOM0_0 | SERCOM0_0_Handler · SERCOM0_0_IRQn | Serial Communication Interface 0 |
| 23 | 0x009C | SERCOM0_1 | SERCOM0_1_Handler · SERCOM0_1_IRQn | Serial Communication Interface 0 |
| 24 | 0x00A0 | SERCOM0_2 | SERCOM0_2_Handler · SERCOM0_2_IRQn | Serial Communication Interface 0 |
| 25 | 0x00A4 | SERCOM0_OTHER | SERCOM0_OTHER_Handler · SERCOM0_OTHER_IRQn | Serial Communication Interface 0 |
| 26 | 0x00A8 | SERCOM1_0 | SERCOM1_0_Handler · SERCOM1_0_IRQn | Serial Communication Interface 1 |
| 27 | 0x00AC | SERCOM1_1 | SERCOM1_1_Handler · SERCOM1_1_IRQn | Serial Communication Interface 1 |
| 28 | 0x00B0 | SERCOM1_2 | SERCOM1_2_Handler · SERCOM1_2_IRQn | Serial Communication Interface 1 |
| 29 | 0x00B4 | SERCOM1_OTHER | SERCOM1_OTHER_Handler · SERCOM1_OTHER_IRQn | Serial Communication Interface 1 |
| 30 | 0x00B8 | SERCOM2_0 | SERCOM2_0_Handler · SERCOM2_0_IRQn | Serial Communication Interface 2 |
| 31 | 0x00BC | SERCOM2_1 | SERCOM2_1_Handler · SERCOM2_1_IRQn | Serial Communication Interface 2 |
| 32 | 0x00C0 | SERCOM2_2 | SERCOM2_2_Handler · SERCOM2_2_IRQn | Serial Communication Interface 2 |
| 33 | 0x00C4 | SERCOM2_OTHER | SERCOM2_OTHER_Handler · SERCOM2_OTHER_IRQn | Serial Communication Interface 2 |
| 34 | 0x00C8 | TC0 | TC0_Handler · TC0_IRQn | Timer Counter 0 |
| 35 | 0x00CC | TC1 | TC1_Handler · TC1_IRQn | Timer Counter 1 |
| 36 | 0x00D0 | TC2 | TC2_Handler · TC2_IRQn | Timer Counter 2 |
| 37 | 0x00D4 | ADC_OTHER | ADC_OTHER_Handler · ADC_OTHER_IRQn | Analog To Digital Converter |
| 38 | 0x00D8 | ADC_RESRDY | ADC_RESRDY_Handler · ADC_RESRDY_IRQn | ADC Result Ready |
| 39 | 0x00DC | AC | AC_Handler · AC_IRQn | Analog Comparator |
| 40 | 0x00E0 | DAC_UNDERRUN_A | DAC_UNDERRUN_A_Handler · DAC_UNDERRUN_A_IRQn | Digital to Analog Converter |
| 41 | 0x00E4 | DAC_EMPTY | DAC_EMPTY_Handler · DAC_EMPTY_IRQn | DAC Buffer 0 Empty |
| 42 | 0x00E8 | PTC | PTC_Handler · PTC_IRQn | Peripheral Touch Controller |
| 43 | 0x00EC | TRNG | TRNG_Handler · TRNG_IRQn | True Random Generator |
| 44 | 0x00F0 | TRAM | TRAM_Handler · TRAM_IRQn | Trust Ram |