diff --git a/cpu/cc2538/vectors.c b/cpu/cc2538/vectors.c index 2109f9858a..e722089832 100644 --- a/cpu/cc2538/vectors.c +++ b/cpu/cc2538/vectors.c @@ -65,7 +65,7 @@ WEAK_DEFAULT void isr_dma(void); WEAK_DEFAULT void isr_dmaerr(void); /* CPU specific interrupt vector table */ -ISR_VECTOR(1) const isr_t vector_cpu[] = { +ISR_VECTOR(1) const isr_t vector_cpu[CPU_IRQ_NUMOF] = { isr_gpioa, /* 16 GPIO Port A */ isr_gpiob, /* 17 GPIO Port B */ isr_gpioc, /* 18 GPIO Port C */ diff --git a/cpu/cc26x0/vectors.c b/cpu/cc26x0/vectors.c index 06dd02e6a3..1f0a31549a 100644 --- a/cpu/cc26x0/vectors.c +++ b/cpu/cc26x0/vectors.c @@ -67,7 +67,7 @@ WEAK_DEFAULT void isr_adc(void); WEAK_DEFAULT void isr_trng(void); /* CPU specific interrupt vector table */ -ISR_VECTOR(1) const isr_t vector_cpu[] = { +ISR_VECTOR(1) const isr_t vector_cpu[CPU_IRQ_NUMOF] = { isr_edge, /* 16 AON edge detect */ isr_i2c, /* 17 I2C */ isr_rfc_cpe1, /* 18 RF Command and Packet Engine 1 */ diff --git a/cpu/cortexm_common/include/vectors_cortexm.h b/cpu/cortexm_common/include/vectors_cortexm.h index 02a3c65161..27a30dc935 100644 --- a/cpu/cortexm_common/include/vectors_cortexm.h +++ b/cpu/cortexm_common/include/vectors_cortexm.h @@ -23,6 +23,8 @@ extern "C" { #endif +#include "cpu_conf.h" + /** * @brief Use this macro to make interrupt functions overridable with the * dummy_handler as fallback in case they are not implemented diff --git a/cpu/ezr32wg/vectors.c b/cpu/ezr32wg/vectors.c index b97efa67d8..ad1ae23b01 100644 --- a/cpu/ezr32wg/vectors.c +++ b/cpu/ezr32wg/vectors.c @@ -72,7 +72,7 @@ WEAK_DEFAULT void isr_emu(void); WEAK_DEFAULT void isr_fpueh(void); /* CPU specific interrupt vector table */ -ISR_VECTOR(1) const isr_t vector_cpu[] = { +ISR_VECTOR(1) const isr_t vector_cpu[CPU_IRQ_NUMOF] = { isr_dma, /* 0 - DMA */ isr_gpio_even, /* 1 - GPIO_EVEN */ isr_timer0, /* 2 - TIMER0 */ diff --git a/cpu/k22f/vectors.c b/cpu/k22f/vectors.c index d193c08304..8383e8daa3 100644 --- a/cpu/k22f/vectors.c +++ b/cpu/k22f/vectors.c @@ -21,7 +21,7 @@ #include "vectors_kinetis.h" /* CPU specific interrupt vector table */ -ISR_VECTOR(1) const isr_t vector_cpu[] = { +ISR_VECTOR(1) const isr_t vector_cpu[CPU_IRQ_NUMOF] = { isr_dma0, /* DMA channel 0 transfer complete */ isr_dma1, /* DMA channel 1 transfer complete */ isr_dma2, /* DMA channel 2 transfer complete */ diff --git a/cpu/k60/vectors.c b/cpu/k60/vectors.c index 5c9af780d2..780272d2ed 100644 --- a/cpu/k60/vectors.c +++ b/cpu/k60/vectors.c @@ -30,7 +30,7 @@ #include "vectors_kinetis.h" /* CPU specific interrupt vector table */ -ISR_VECTOR(1) const isr_t vector_cpu[] = { +ISR_VECTOR(1) const isr_t vector_cpu[CPU_IRQ_NUMOF] = { isr_dma0, isr_dma1, isr_dma2, diff --git a/cpu/k64f/vectors.c b/cpu/k64f/vectors.c index 1c3c9238fb..2b084f817e 100644 --- a/cpu/k64f/vectors.c +++ b/cpu/k64f/vectors.c @@ -23,7 +23,7 @@ #include "vectors_kinetis.h" /* CPU specific interrupt vector table */ -ISR_VECTOR(1) const isr_t vector_cpu[] = { +ISR_VECTOR(1) const isr_t vector_cpu[CPU_IRQ_NUMOF] = { isr_dma0, /* DMA channel 0 transfer complete */ isr_dma1, /* DMA channel 1 transfer complete */ isr_dma2, /* DMA channel 2 transfer complete */ diff --git a/cpu/kw2xd/vectors.c b/cpu/kw2xd/vectors.c index a50f18d2d2..d77ce14de6 100644 --- a/cpu/kw2xd/vectors.c +++ b/cpu/kw2xd/vectors.c @@ -23,7 +23,7 @@ #include "vectors_kinetis.h" /* CPU specific interrupt vector table */ -ISR_VECTOR(1) const isr_t vector_cpu[] = { +ISR_VECTOR(1) const isr_t vector_cpu[CPU_IRQ_NUMOF] = { isr_dma0, /* DMA channel 0 transfer complete */ isr_dma1, /* DMA channel 1 transfer complete */ isr_dma2, /* DMA channel 2 transfer complete */ diff --git a/cpu/lm4f120/include/cpu_conf.h b/cpu/lm4f120/include/cpu_conf.h index 094d993e27..1875501310 100644 --- a/cpu/lm4f120/include/cpu_conf.h +++ b/cpu/lm4f120/include/cpu_conf.h @@ -56,7 +56,7 @@ extern "C" { * @{ */ #define CPU_DEFAULT_IRQ_PRIO (1U) -#define CPU_IRQ_NUMOF (48U) +#define CPU_IRQ_NUMOF (139U) #define CPU_FLASH_BASE FLASH_BASE /** @} */ diff --git a/cpu/lm4f120/vectors.c b/cpu/lm4f120/vectors.c index 5afa45d1ca..5c48f48c48 100644 --- a/cpu/lm4f120/vectors.c +++ b/cpu/lm4f120/vectors.c @@ -100,7 +100,7 @@ WEAK_DEFAULT void isr_wtimer5b(void); WEAK_DEFAULT void isr_sysex(void); /* CPU specific interrupt vector table */ -ISR_VECTOR(1) const isr_t vector_cpu[] = { +ISR_VECTOR(1) const isr_t vector_cpu[CPU_IRQ_NUMOF] = { isr_gpio_porta, /* GPIO Port A 16 */ isr_gpio_portb, /* GPIO Port B 17 */ isr_gpio_portc, /* GPIO Port C 18 */ diff --git a/cpu/lpc1768/vectors.c b/cpu/lpc1768/vectors.c index f4026e0f07..18322629ce 100644 --- a/cpu/lpc1768/vectors.c +++ b/cpu/lpc1768/vectors.c @@ -66,7 +66,7 @@ WEAK_DEFAULT void isr_qei(void); WEAK_DEFAULT void isr_pll1(void); /* CPU specific interrupt vector table */ -ISR_VECTOR(1) const isr_t vector_cpu[] = { +ISR_VECTOR(1) const isr_t vector_cpu[CPU_IRQ_NUMOF] = { isr_wdt, /* watchdog timer */ isr_timer0, /* timer0 */ isr_timer1, /* timer1 */ diff --git a/cpu/nrf51/vectors.c b/cpu/nrf51/vectors.c index 5ca1247572..19af0b1ac8 100644 --- a/cpu/nrf51/vectors.c +++ b/cpu/nrf51/vectors.c @@ -70,37 +70,30 @@ WEAK_DEFAULT void isr_swi4(void); WEAK_DEFAULT void isr_swi5(void); /* CPU specific interrupt vector table */ -ISR_VECTOR(1) const isr_t vector_cpu[] = { - isr_power_clock, /* power_clock */ - isr_radio, /* radio */ - isr_uart0, /* uart0 */ - isr_spi0_twi0, /* spi0_twi0 */ - isr_spi1_twi1, /* spi1_twi1 */ - (0UL), /* reserved */ - isr_gpiote, /* gpiote */ - isr_adc, /* adc */ - isr_timer0, /* timer0 */ - isr_timer1, /* timer1 */ - isr_timer2, /* timer2 */ - isr_rtc0, /* rtc0 */ - isr_temp, /* temp */ - isr_rng, /* rng */ - isr_ecb, /* ecb */ - isr_ccm_aar, /* ccm_aar */ - isr_wdt, /* wdt */ - isr_rtc1, /* rtc1 */ - isr_qdec, /* qdec */ - isr_lpcomp, /* lpcomp */ - isr_swi0, /* swi0 */ - isr_swi1, /* swi1 */ - isr_swi2, /* swi2 */ - isr_swi3, /* swi3 */ - isr_swi4, /* swi4 */ - isr_swi5, /* swi5 */ - (0UL), /* reserved */ - (0UL), /* reserved */ - (0UL), /* reserved */ - (0UL), /* reserved */ - (0UL), /* reserved */ - (0UL), /* reserved */ +ISR_VECTOR(1) const isr_t vector_cpu[CPU_IRQ_NUMOF] = { + [ 0] = isr_power_clock, /* power_clock */ + [ 1] = isr_radio, /* radio */ + [ 2] = isr_uart0, /* uart0 */ + [ 3] = isr_spi0_twi0, /* spi0_twi0 */ + [ 4] = isr_spi1_twi1, /* spi1_twi1 */ + [ 6] = isr_gpiote, /* gpiote */ + [ 7] = isr_adc, /* adc */ + [ 8] = isr_timer0, /* timer0 */ + [ 9] = isr_timer1, /* timer1 */ + [10] = isr_timer2, /* timer2 */ + [11] = isr_rtc0, /* rtc0 */ + [12] = isr_temp, /* temp */ + [13] = isr_rng, /* rng */ + [14] = isr_ecb, /* ecb */ + [15] = isr_ccm_aar, /* ccm_aar */ + [16] = isr_wdt, /* wdt */ + [17] = isr_rtc1, /* rtc1 */ + [18] = isr_qdec, /* qdec */ + [19] = isr_lpcomp, /* lpcomp */ + [20] = isr_swi0, /* swi0 */ + [21] = isr_swi1, /* swi1 */ + [22] = isr_swi2, /* swi2 */ + [23] = isr_swi3, /* swi3 */ + [24] = isr_swi4, /* swi4 */ + [25] = isr_swi5, /* swi5 */ }; diff --git a/cpu/nrf52/vectors.c b/cpu/nrf52/vectors.c index 89f3270e8b..e05e3afd38 100644 --- a/cpu/nrf52/vectors.c +++ b/cpu/nrf52/vectors.c @@ -100,7 +100,7 @@ extern void SWI2_EGU2_IRQHandler(void); #endif /* CPU specific interrupt vector table */ -ISR_VECTOR(1) const isr_t vector_cpu[] = { +ISR_VECTOR(1) const isr_t vector_cpu[CPU_IRQ_NUMOF] = { isr_power_clock, /* power_clock */ isr_radio, /* radio */ isr_uart0, /* uart0 */ diff --git a/cpu/sam3/vectors.c b/cpu/sam3/vectors.c index 65efa199ba..90fee53e90 100644 --- a/cpu/sam3/vectors.c +++ b/cpu/sam3/vectors.c @@ -78,7 +78,7 @@ WEAK_DEFAULT void isr_can0(void); WEAK_DEFAULT void isr_can1(void); /* CPU specific interrupt vector table */ -ISR_VECTOR(1) const isr_t vector_cpu[] = { +ISR_VECTOR(1) const isr_t vector_cpu[CPU_IRQ_NUMOF] = { isr_supc, /* 0 supply controller */ isr_rstc, /* 1 reset controller */ isr_rtc, /* 2 real time clock */ diff --git a/cpu/samd21/vectors.c b/cpu/samd21/vectors.c index e0fd34bd32..c1da5518a1 100644 --- a/cpu/samd21/vectors.c +++ b/cpu/samd21/vectors.c @@ -20,8 +20,6 @@ */ #include - -#include "cpu_conf.h" #include "vectors_cortexm.h" /* get the start of the ISR stack as defined in the linkerscript */ @@ -64,7 +62,7 @@ WEAK_DEFAULT void isr_ptc(void); WEAK_DEFAULT void isr_i2c(void); /* CPU specific interrupt vector table */ -ISR_VECTOR(1) const isr_t vector_cpu[] = { +ISR_VECTOR(1) const isr_t vector_cpu[CPU_IRQ_NUMOF] = { isr_pm, /* 0 Power Manager */ isr_sysctrl, /* 1 System Control */ isr_wdt, /* 2 Watchdog Timer */ diff --git a/cpu/saml21/vectors.c b/cpu/saml21/vectors.c index 4ed02e6780..3f490dc347 100644 --- a/cpu/saml21/vectors.c +++ b/cpu/saml21/vectors.c @@ -65,7 +65,7 @@ WEAK_DEFAULT void isr_aes(void); WEAK_DEFAULT void isr_trng(void); /* CPU specific interrupt vector table */ -ISR_VECTOR(1) const isr_t vector_cpu[] = { +ISR_VECTOR(1) const isr_t vector_cpu[CPU_IRQ_NUMOF] = { (void*) isr_pm, /* 0 Power Manager */ (void*) isr_wdt, /* 1 Watchdog Timer */ (void*) isr_rtc, /* 2 Real-Time Counter */ diff --git a/cpu/stm32f0/vectors.c b/cpu/stm32f0/vectors.c index 2a716fd6a9..64219813b4 100644 --- a/cpu/stm32f0/vectors.c +++ b/cpu/stm32f0/vectors.c @@ -63,7 +63,7 @@ WEAK_DEFAULT void isr_cec(void); WEAK_DEFAULT void isr_usb(void); /* CPU specific interrupt vector table */ -ISR_VECTOR(1) const isr_t vector_cpu[] = { +ISR_VECTOR(1) const isr_t vector_cpu[CPU_IRQ_NUMOF] = { isr_wwdg, /* [0] windowed watchdog */ #if defined(CPU_MODEL_STM32F030R8) (0UL), /* [1] reserved */ diff --git a/cpu/stm32f1/vectors.c b/cpu/stm32f1/vectors.c index caa3485e27..40ea22823e 100644 --- a/cpu/stm32f1/vectors.c +++ b/cpu/stm32f1/vectors.c @@ -88,7 +88,7 @@ WEAK_DEFAULT void isr_dma2_ch3(void); WEAK_DEFAULT void isr_dma2_ch4_5(void); /* CPU specific interrupt vector table */ -ISR_VECTOR(1) const isr_t vector_cpu[] = { +ISR_VECTOR(1) const isr_t vector_cpu[CPU_IRQ_NUMOF] = { isr_wwdg, /* [0] Window WatchDog Interrupt */ isr_pvd, /* [1] PVD through EXTI Line detection Interrupt */ isr_tamper, /* [2] Tamper Interrupt */ diff --git a/cpu/stm32f2/vectors.c b/cpu/stm32f2/vectors.c index f45b1c5b5c..dc88923b24 100644 --- a/cpu/stm32f2/vectors.c +++ b/cpu/stm32f2/vectors.c @@ -113,7 +113,7 @@ WEAK_DEFAULT void isr_cryp(void); WEAK_DEFAULT void isr_hash_rng(void); /* CPU specific interrupt vector table */ -ISR_VECTOR(1) const isr_t vector_cpu[] = { +ISR_VECTOR(1) const isr_t vector_cpu[CPU_IRQ_NUMOF] = { isr_wwdg, /* [0] Window WatchDog */ isr_pvd, /* [1] PVD through EXTI Line detection */ isr_tamp_stamp, /* [2] Tamper and TimeStamps through the EXTI line */ diff --git a/cpu/stm32f3/vectors.c b/cpu/stm32f3/vectors.c index a250e97b0a..98a6ecb7d4 100644 --- a/cpu/stm32f3/vectors.c +++ b/cpu/stm32f3/vectors.c @@ -109,7 +109,7 @@ WEAK_DEFAULT void isr_fpu(void); WEAK_DEFAULT void isr_spi4(void); /* CPU specific interrupt vector table */ -ISR_VECTOR(1) const isr_t vector_cpu[] = { +ISR_VECTOR(1) const isr_t vector_cpu[CPU_IRQ_NUMOF] = { isr_wwdg, /* [0] Window WatchDog Interrupt */ isr_pvd, /* [1] PVD through EXTI Line detection Interrupt */ isr_tamp_stamp, /* [2] Tamper and TimeStamp interrupts through the EXTI line 19 */ diff --git a/cpu/stm32f4/vectors.c b/cpu/stm32f4/vectors.c index 95a271c5e1..1f675581bf 100644 --- a/cpu/stm32f4/vectors.c +++ b/cpu/stm32f4/vectors.c @@ -138,7 +138,7 @@ WEAK_DEFAULT void isr_ltdc_er(void); WEAK_DEFAULT void isr_dma2d(void); /* CPU specific interrupt vector table */ -ISR_VECTOR(1) const isr_t vector_cpu[] = { +ISR_VECTOR(1) const isr_t vector_cpu[CPU_IRQ_NUMOF] = { isr_wwdg, /* [0] Window WatchDog */ isr_pvd, /* [1] PVD through EXTI Line detection */ isr_tamp_stamp, /* [2] Tamper and TimeStamps through the EXTI line */ diff --git a/cpu/stm32f7/vectors.c b/cpu/stm32f7/vectors.c index 93af5bcf97..607d3b68f3 100644 --- a/cpu/stm32f7/vectors.c +++ b/cpu/stm32f7/vectors.c @@ -141,7 +141,7 @@ WEAK_DEFAULT void isr_sdmmc2(void); #endif /* CPU specific interrupt vector table */ -ISR_VECTOR(1) const isr_t vector_cpu[] = { +ISR_VECTOR(1) const isr_t vector_cpu[CPU_IRQ_NUMOF] = { isr_wwdg, /* [0] Window WatchDog Interrupt */ isr_pvd, /* [1] PVD through EXTI Line detection Interrupt */ isr_tamp_stamp, /* [2] Tamper and TimeStamp interrupts through the EXTI line */ diff --git a/cpu/stm32l0/vectors.c b/cpu/stm32l0/vectors.c index 5331ed40cd..17e1e50c51 100644 --- a/cpu/stm32l0/vectors.c +++ b/cpu/stm32l0/vectors.c @@ -65,7 +65,7 @@ WEAK_DEFAULT void isr_lcd(void); WEAK_DEFAULT void isr_usb(void); /* CPU specific interrupt vector table */ -ISR_VECTOR(1) const isr_t vector_cpu[] = { +ISR_VECTOR(1) const isr_t vector_cpu[CPU_IRQ_NUMOF] = { isr_wwdg, /* [0] windowed watchdog */ isr_pvd, /* [1] power control */ isr_rtc, /* [2] real time clock */ diff --git a/cpu/stm32l1/vectors.c b/cpu/stm32l1/vectors.c index f7f90222dc..7ef508b500 100644 --- a/cpu/stm32l1/vectors.c +++ b/cpu/stm32l1/vectors.c @@ -85,7 +85,7 @@ WEAK_DEFAULT void isr_aes(void); WEAK_DEFAULT void isr_comp_acq(void); /* CPU specific interrupt vector table */ -ISR_VECTOR(1) const isr_t vector_cpu[] = { +ISR_VECTOR(1) const isr_t vector_cpu[CPU_IRQ_NUMOF] = { isr_wwdg, /* [0] Window WatchDog Interrupt */ isr_pvd, /* [1] PVD through EXTI Line detection Interrupt */ isr_tamper_stamp, /* [2] Tamper and Time Stamp through EXTI Line Interrupts */