What is the .avec file in a .s, .c, and .h context? Specifically, stm32f10x_md.vec

advertisements

What is a .vec file in a .s, .c, and .h context? Specifically, stm32f10x_md.vec. I keep getting stuck on "ISR_HANDLER USART3_IRQHandler" inside the .vec file and all googling leads me to reading about openCV. The .vec file doesn't seem to exist anywhere. The closest thing seems to be startup_stm32f10x_md.s. I'm using Rowley CrossWorks with the Nucleo f103rb.

These are the file's entire contents. Based on the answers so far I wonder if .vec is specific to CrossWorks?

ISR_HANDLER WWDG_IRQHandler
ISR_HANDLER PVD_IRQHandler
ISR_HANDLER TAMPER_IRQHandler
ISR_HANDLER RTC_IRQHandler
ISR_HANDLER FLASH_IRQHandler
ISR_HANDLER RCC_IRQHandler
ISR_HANDLER EXTI0_IRQHandler
ISR_HANDLER EXTI1_IRQHandler
ISR_HANDLER EXTI2_IRQHandler
ISR_HANDLER EXTI3_IRQHandler
ISR_HANDLER EXTI4_IRQHandler
ISR_HANDLER DMA1_Channel1_IRQHandler
ISR_HANDLER DMA1_Channel2_IRQHandler
ISR_HANDLER DMA1_Channel3_IRQHandler
ISR_HANDLER DMA1_Channel4_IRQHandler
ISR_HANDLER DMA1_Channel5_IRQHandler
ISR_HANDLER DMA1_Channel6_IRQHandler
ISR_HANDLER DMA1_Channel7_IRQHandler
ISR_HANDLER ADC1_2_IRQHandler
ISR_HANDLER USB_HP_CAN1_TX_IRQHandler
ISR_HANDLER USB_LP_CAN1_RX0_IRQHandler
ISR_HANDLER CAN1_RX1_IRQHandler
ISR_HANDLER CAN1_SCE_IRQHandler
ISR_HANDLER EXTI9_5_IRQHandler
ISR_HANDLER TIM1_BRK_IRQHandler
ISR_HANDLER TIM1_UP_IRQHandler
ISR_HANDLER TIM1_TRG_COM_IRQHandler
ISR_HANDLER TIM1_CC_IRQHandler
ISR_HANDLER TIM2_IRQHandler
ISR_HANDLER TIM3_IRQHandler
ISR_HANDLER TIM4_IRQHandler
ISR_HANDLER I2C1_EV_IRQHandler
ISR_HANDLER I2C1_ER_IRQHandler
ISR_HANDLER I2C2_EV_IRQHandler
ISR_HANDLER I2C2_ER_IRQHandler
ISR_HANDLER SPI1_IRQHandler
ISR_HANDLER SPI2_IRQHandler
ISR_HANDLER USART1_IRQHandler
ISR_HANDLER USART2_IRQHandler
ISR_HANDLER USART3_IRQHandler
ISR_HANDLER EXTI15_10_IRQHandler
ISR_HANDLER RTCAlarm_IRQHandler
ISR_HANDLER USBWakeUp_IRQHandler


I think it is a file that contains a portion of an interrupt vector table. Consider a startup assembly file that looks like:

_vectors:
  .word __stack_end__
  ...
  ISR_HANDLER SysTick_Handler
  #if defined(__TARGET_LD)
    #include "STM32F10X_LD.vec"
  #elif defined(__TARGET_MD)
    #include "STM32F10X_MD.vec"
  ...
  #endif

Using separate .vec files you can use the same top level Startup.s file independently on the target microcontroller you're using and just customize/include your target specific .vec file