diff --git a/include/libopencm3/stm32/nvic.h b/include/libopencm3/stm32/nvic.h index ce8132fd..d29c425f 100644 --- a/include/libopencm3/stm32/nvic.h +++ b/include/libopencm3/stm32/nvic.h @@ -138,6 +138,14 @@ #define NVIC_DMA2_CHANNEL2_IRQ 57 #define NVIC_DMA2_CHANNEL3_IRQ 58 #define NVIC_DMA2_CHANNEL4_5_IRQ 59 +#define NVIC_DMA2_CHANNEL5_IRQ 60 +#define NVIC_ETH_IRQ 61 +#define NVIC_ETH_WKUP_IRQ 62 +#define NVIC_CAN2_TX_IRQ 63 +#define NVIC_CAN2_RX0_IRQ 64 +#define NVIC_CAN2_RX1_IRQ 65 +#define NVIC_CAN2_SCE_IRQ 66 +#define NVIC_OTG_FS_IRQ 67 /* --- NVIC functions ------------------------------------------------------ */ diff --git a/lib/stm32/vector.c b/lib/stm32/vector.c index 4d3d5103..39bd9a13 100644 --- a/lib/stm32/vector.c +++ b/lib/stm32/vector.c @@ -96,6 +96,15 @@ void WEAK dma2_channel1_isr(void); void WEAK dma2_channel2_isr(void); void WEAK dma2_channel3_isr(void); void WEAK dma2_channel4_5_isr(void); +void WEAK dma2_channel5_isr(void); +void WEAK eth_isr(void); +void WEAK eth_wkup_isr(void); +void WEAK can2_tx_isr(void); +void WEAK can2_rx0_isr(void); +void WEAK can2_rx1_isr(void); +void WEAK can2_sce_isr(void); +void WEAK otg_fs_isr(void); + __attribute__ ((section(".vectors"))) void (*const vector_table[]) (void) = { @@ -172,6 +181,14 @@ void (*const vector_table[]) (void) = { dma2_channel2_isr, dma2_channel3_isr, dma2_channel4_5_isr, + dma2_channel5_isr, + eth_isr, + eth_wkup_isr, + can2_tx_isr, + can2_rx0_isr, + can2_rx1_isr, + can2_sce_isr, + otg_fs_isr, }; void reset_handler(void) @@ -268,3 +285,12 @@ void null_handler(void) #pragma weak dma2_channel2_isr = null_handler #pragma weak dma2_channel3_isr = null_handler #pragma weak dma2_channel4_5_isr = null_handler +#pragma weak dma2_channel5_isr +#pragma weak eth_isr = null_handler +#pragma weak eth_wkup_isr = null_handler +#pragma weak can2_tx_isr = null_handler +#pragma weak can2_rx0_isr = null_handler +#pragma weak can2_rx1_isr = null_handler +#pragma weak can2_sce_isr = null_handler +#pragma weak otg_fs_isr = null_handler +