From c32b3dc63261a4f80bc33f41fb2a829562fb7548 Mon Sep 17 00:00:00 2001 From: Max Regan Date: Sat, 18 Apr 2020 12:19:28 -0700 Subject: [PATCH] Fix the vector table for STM32L412RB --- firmware/Bsp/Mcu/stm32l412rb.S | 141 ++++++++++++++++++++------------- 1 file changed, 85 insertions(+), 56 deletions(-) diff --git a/firmware/Bsp/Mcu/stm32l412rb.S b/firmware/Bsp/Mcu/stm32l412rb.S index 6c5a6d2..7a8c1e5 100644 --- a/firmware/Bsp/Mcu/stm32l412rb.S +++ b/firmware/Bsp/Mcu/stm32l412rb.S @@ -85,40 +85,50 @@ __Vectors: .long SysTick_Handler /* SysTick Handler */ /* External interrupts */ - .long WWDG_IRQHandler /* 0: Watchdog Timer */ - .long PVD_IRQHandler /* 1: Real Time Clock */ - .long RTC_IRQHandler /* 2: Timer0 / Timer1 */ - .long FLASH_IRQHandler /* 3: Timer2 / Timer3 */ - .long RCC_CRS_IRQHandler /* 4: MCIa */ - .long EXTI_1_0_IRQHandler /* 5: MCIb */ - .long EXTI_3_2_IRQHandler /* 6: UART0 - DUT FPGA */ - .long EXTI_15_4_IRQHandler /* 7: UART1 - DUT FPGA */ - .long 0 /* 8: UART2 - reserved */ - .long DMA1_CHANNEL1_IRQHandler /* 8: UART2 - DUT FPGA */ - .long DMA1_CHANNEL3_2_IRQHandler /* 9: UART4 - not connected */ - .long DMA_CHANNEL_7_4_IRQHandler /* 10: AACI / AC97 */ - .long ADC_COMP_IRQHandler /* 11: CLCD Combined Interrupt */ - .long LPTIM1_IRQHandler /* 12: Ethernet */ - .long USART4_USART5_IRQHandler /* 13: USB Device */ - .long TIM2_IRQHandler /* 14: USB Host Controller */ - .long TIM3_IRQHandler /* 15: Character LCD */ - .long TIM6_IRQHandler /* 16: Flexray */ - .long TIM7_IRQHandler /* 17: CAN */ - .long 0 /* 18: LIN */ - .long TIM21_IRQHandler /* 19: I2C ADC/DAC */ - .long I2C3_IRQHandler /* 20: Reserved */ - .long TIM22_IRQHandler /* 21: Reserved */ - - /* TODO: There are more but I'm lazy */ - .long 0 - .long 0 - .long 0 - .long 0 - .long 0 - .long 0 - .long 0 - .long 0 - .long 0 + .long WWDG_IRQHandler /* Pos: 0 */ + .long PVD_IRQHandler /* Pos: 1 */ + .long RTC_TAMP_STAMP_Handler /* Pos: 2 */ + .long RTC_WKUP_IRQHandler /* Pos: 3 */ + .long FLASH_IRQHandler /* Pos: 4 */ + .long RCC_CRS_IRQHandler /* Pos: 5 */ + .long EXTI0_IRQHandler /* Pos: 6 */ + .long EXTI1_IRQHandler /* Pos: 7 */ + .long EXTI2_IRQHandler /* Pos: 8 */ + .long EXTI3_IRQHandler /* Pos: 9 */ + .long EXTI4_IRQHandler /* Pos: 10 */ + .long DMA1_CH1_IRQHandler /* Pos: 11 */ + .long DMA1_CH2_IRQHandler /* Pos: 12 */ + .long DMA1_CH3_IRQHandler /* Pos: 13 */ + .long DMA1_CH4_IRQHandler /* Pos: 14 */ + .long DMA1_CH5_IRQHandler /* Pos: 15 */ + .long DMA1_CH6_IRQHandler /* Pos: 16 */ + .long DMA1_CH7_IRQHandler /* Pos: 17 */ + .long ADC1_2_IRQHandler /* Pos: 18 */ + .long CAN1_TX_IRQHandler /* Pos: 19 */ + .long CAN1_RX0_IRQHandler /* Pos: 20 */ + .long CAN1_RX1_IRQHandler /* Pos: 21 */ + .long CAN1_SCE_IRQHandler /* Pos: 22 */ + .long EXTI9_5_IRQHandler /* Pos: 23 */ + .long TIM1_BRK_TIM15_IRQHandler /* Pos: 24 */ + .long TIM1_UP_TIM16_IRQHandler /* Pos: 25 */ + .long TIM1_TRG_COM_IRQHandler /* Pos: 26 */ + .long TIM1_CC_IRQHandler /* Pos: 27 */ + .long TIM2_IRQHandler /* Pos: 28 */ + .long TIM3_IRQHandler /* Pos: 29 */ + .long 0 /* Pos: 30 */ + .long I2C1_EV_IRQHandler /* Pos: 31 */ + .long I2C1_ER_IRQHandler /* Pos: 32 */ + .long I2C2_EV_IRQHandler /* Pos: 33 */ + .long I2C2_ER_IRQHandler /* Pos: 34 */ + .long SPI1_IRQHandler /* Pos: 35 */ + .long SPI2_IRQHandler /* Pos: 36 */ + .long USART1_IRQHandler /* Pos: 37 */ + .long USART2_IRQHandler /* Pos: 38 */ + .long USART3_IRQHandler /* Pos: 39 */ + .long EXTI15_10_IRQHandler /* Pos: 40 */ + .long RTC_ALARM_IRQHandler /* Pos: 41 */ + .long 0 /* Pos: 42 */ + .long 0 /* Pos: 43 */ .size __Vectors, . - __Vectors .text @@ -291,27 +301,46 @@ Default_Handler: def_irq_handler PendSV_Handler def_irq_handler SysTick_Handler - def_irq_handler WWDG_IRQHandler - def_irq_handler PVD_IRQHandler - def_irq_handler WDT_IRQHandler - def_irq_handler RTC_IRQHandler - def_irq_handler FLASH_IRQHandler - def_irq_handler RCC_CRS_IRQHandler - def_irq_handler EXTI_1_0_IRQHandler - def_irq_handler EXTI_3_2_IRQHandler - def_irq_handler EXTI_15_4_IRQHandler - def_irq_handler DMA1_CHANNEL1_IRQHandler - def_irq_handler DMA1_CHANNEL3_2_IRQHandler - def_irq_handler DMA_CHANNEL_7_4_IRQHandler - def_irq_handler ADC_COMP_IRQHandler - def_irq_handler LPTIM1_IRQHandler - def_irq_handler USART4_USART5_IRQHandler - def_irq_handler TIM2_IRQHandler - def_irq_handler TIM3_IRQHandler - def_irq_handler TIM6_IRQHandler - def_irq_handler TIM7_IRQHandler - def_irq_handler TIM21_IRQHandler - def_irq_handler I2C3_IRQHandler - def_irq_handler TIM22_IRQHandler + def_irq_handler WWDG_IRQHandler + def_irq_handler PVD_IRQHandler + def_irq_handler RTC_TAMP_STAMP_Handler + def_irq_handler RTC_WKUP_IRQHandler + def_irq_handler FLASH_IRQHandler + def_irq_handler RCC_CRS_IRQHandler + def_irq_handler EXTI0_IRQHandler + def_irq_handler EXTI1_IRQHandler + def_irq_handler EXTI2_IRQHandler + def_irq_handler EXTI3_IRQHandler + def_irq_handler EXTI4_IRQHandler + def_irq_handler DMA1_CH1_IRQHandler + def_irq_handler DMA1_CH2_IRQHandler + def_irq_handler DMA1_CH3_IRQHandler + def_irq_handler DMA1_CH4_IRQHandler + def_irq_handler DMA1_CH5_IRQHandler + def_irq_handler DMA1_CH6_IRQHandler + def_irq_handler DMA1_CH7_IRQHandler + def_irq_handler ADC1_2_IRQHandler + def_irq_handler CAN1_TX_IRQHandler + def_irq_handler CAN1_RX0_IRQHandler + def_irq_handler CAN1_RX1_IRQHandler + def_irq_handler CAN1_SCE_IRQHandler + def_irq_handler EXTI9_5_IRQHandler + def_irq_handler TIM1_BRK_TIM15_IRQHandler + def_irq_handler TIM1_UP_TIM16_IRQHandler + def_irq_handler TIM1_TRG_COM_IRQHandler + def_irq_handler TIM1_CC_IRQHandler + def_irq_handler TIM2_IRQHandler + def_irq_handler TIM3_IRQHandler + def_irq_handler I2C1_EV_IRQHandler + def_irq_handler I2C1_ER_IRQHandler + def_irq_handler I2C2_EV_IRQHandler + def_irq_handler I2C2_ER_IRQHandler + def_irq_handler SPI1_IRQHandler + def_irq_handler SPI2_IRQHandler + def_irq_handler USART1_IRQHandler + def_irq_handler USART2_IRQHandler + def_irq_handler USART3_IRQHandler + def_irq_handler EXTI15_10_IRQHandler + def_irq_handler RTC_ALARM_IRQHandler .end