123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213 |
- /*
- * File : isr_tab.s
- * This file is part of RT-Thread RTOS
- * COPYRIGHT (C) 2021, RT-Thread Development Team
- *
- * Change Logs:
- * Date Author Notes
- * 2021-01-02 iysheng first implementation
- */
- .syntax unified
- .cpu cortex-m3
- .fpu softvfp
- .thumb
- .global g_isr_vectors
- .section .isr_vector,"a",%progbits
- .type g_isr_vectors, STT_OBJECT
- .weak Reset_Handler
- g_isr_vectors:
- .word _estack /* Top of Stack */
- .word Reset_Handler /* Reset Handler */
- .word NMI_Handler /* NMI Handler */
- .word HardFault_Handler /* Hard Fault Handler */
- .word MemManage_Handler /* MPU Fault Handler */
- .word BusFault_Handler /* Bus Fault Handler */
- .word UsageFault_Handler /* Usage Fault Handler */
- .word 0 /* Reserved */
- .word 0 /* Reserved */
- .word 0 /* Reserved */
- .word 0 /* Reserved */
- .word SVC_Handler /* SVCall Handler */
- .word DebugMon_Handler /* Debug Monitor Handler */
- .word 0 /* Reserved */
- .word PendSV_Handler /* PendSV Handler */
- .word SysTick_Handler /* SysTick Handler */
- /* external interrupts handler */
- .word WWDGT_IRQHandler /* 16:Window Watchdog Timer */
- .word LVD_IRQHandler /* 17:LVD through EXTI Line detect */
- .word TAMPER_IRQHandler /* 18:Tamper through EXTI Line detect */
- .word RTC_IRQHandler /* 19:RTC through EXTI Line */
- .word FMC_IRQHandler /* 20:FMC */
- .word RCU_CTC_IRQHandler /* 21:RCU and CTC */
- .word EXTI0_IRQHandler /* 22:EXTI Line 0 */
- .word EXTI1_IRQHandler /* 23:EXTI Line 1 */
- .word EXTI2_IRQHandler /* 24:EXTI Line 2 */
- .word EXTI3_IRQHandler /* 25:EXTI Line 3 */
- .word EXTI4_IRQHandler /* 26:EXTI Line 4 */
- .word DMA0_Channel0_IRQHandler /* 27:DMA0 Channel0 */
- .word DMA0_Channel1_IRQHandler /* 28:DMA0 Channel1 */
- .word DMA0_Channel2_IRQHandler /* 29:DMA0 Channel2 */
- .word DMA0_Channel3_IRQHandler /* 30:DMA0 Channel3 */
- .word DMA0_Channel4_IRQHandler /* 31:DMA0 Channel4 */
- .word DMA0_Channel5_IRQHandler /* 32:DMA0 Channel5 */
- .word DMA0_Channel6_IRQHandler /* 33:DMA0 Channel6 */
- .word ADC0_1_IRQHandler /* 34:ADC0 and ADC1 */
- .word USBD_HP_CAN0_TX_IRQHandler /* 35:USBD HP and CAN0 TX */
- .word USBD_LP_CAN0_RX0_IRQHandler /* 36:USBD LP and CAN0 RX0 */
- .word CAN0_RX1_IRQHandler /* 37:CAN0 RX1 */
- .word CAN0_EWMC_IRQHandler /* 38:CAN0 EWMC */
- .word EXTI5_9_IRQHandler /* 39:EXTI5 to EXTI9 */
- .word TIMER0_BRK_IRQHandler /* 40:TIMER0 Break */
- .word TIMER0_UP_IRQHandler /* 41:TIMER0 Update */
- .word TIMER0_TRG_CMT_IRQHandler /* 42:TIMER0 Trigger and Commutation */
- .word TIMER0_Channel_IRQHandler /* 43:TIMER0 Channel Capture Compare */
- .word TIMER1_IRQHandler /* 44:TIMER1 */
- .word TIMER2_IRQHandler /* 45:TIMER2 */
- .word TIMER3_IRQHandler /* 46:TIMER3 */
- .word I2C0_EV_IRQHandler /* 47:I2C0 Event */
- .word I2C0_ER_IRQHandler /* 48:I2C0 Error */
- .word I2C1_EV_IRQHandler /* 49:I2C1 Event */
- .word I2C1_ER_IRQHandler /* 50:I2C1 Error */
- .word SPI0_IRQHandler /* 51:SPI0 */
- .word SPI1_IRQHandler /* 52:SPI1 */
- .word USART0_IRQHandler /* 53:USART0 */
- .word USART1_IRQHandler /* 54:USART1 */
- .word USART2_IRQHandler /* 55:USART2 */
- .word EXTI10_15_IRQHandler /* 56:EXTI10 to EXTI15 */
- .word RTC_Alarm_IRQHandler /* 57:RTC Alarm */
- .word USBD_WKUP_IRQHandler /* 58:USBD Wakeup */
- .word TIMER7_BRK_IRQHandler /* 59:TIMER7 Break */
- .word TIMER7_UP_IRQHandler /* 60:TIMER7 Update */
- .word TIMER7_TRG_CMT_IRQHandler /* 61:TIMER7 Trigger and Commutation */
- .word TIMER7_Channel_IRQHandler /* 62:TIMER7 Channel Capture Compare */
- .word ADC2_IRQHandler /* 63:ADC2 */
- .word EXMC_IRQHandler /* 64:EXMC */
- .word SDIO_IRQHandler /* 65:SDIO */
- .word TIMER4_IRQHandler /* 66:TIMER4 */
- .word SPI2_IRQHandler /* 67:SPI2 */
- .word UART3_IRQHandler /* 68:UART3 */
- .word UART4_IRQHandler /* 69:UART4 */
- .word TIMER5_IRQHandler /* 70:TIMER5 */
- .word TIMER6_IRQHandler /* 71:TIMER6 */
- .word DMA1_Channel0_IRQHandler /* 72:DMA1 Channel0 */
- .word DMA1_Channel1_IRQHandler /* 73:DMA1 Channel1 */
- .word DMA1_Channel2_IRQHandler /* 74:DMA1 Channel2 */
- .word DMA1_Channel3_4_IRQHandler /* 75:DMA1 Channel3 and Channel4 */
- /* Exception Handlers */
- .weak NMI_Handler
- .type NMI_Handler, STT_FUNC
- NMI_Handler:
- b .
- .weak MemManage_Handler
- .type MemManage_Handler, STT_FUNC
- MemManage_Handler:
- b .
- .weak BusFault_Handler
- .type BusFault_Handler, STT_FUNC
- BusFault_Handler:
- b .
- .weak UsageFault_Handler
- .type UsageFault_Handler, STT_FUNC
- UsageFault_Handler:
- b .
- .weak SVC_Handler
- .type SVC_Handler, STT_FUNC
- SVC_Handler:
- b .
- .weak DebugMon_Handler
- .type DebugMon_Handler, STT_FUNC
- DebugMon_Handler:
- b .
- .weak PendSV_Handler
- .type PendSV_Handler, STT_FUNC
- PendSV_Handler:
- b .
- .weak SysTick_Handler
- .type SysTick_Handler, STT_FUNC
- SysTick_Handler:
- b .
- .global default_irq_handler
- .section .text.default_irq_handler,"ax",%progbits
- .type default_irq_handler, STT_FUNC
- default_irq_handler:
- b .
- .macro IRQ handler
- .weak \handler
- .set \handler, default_irq_handler
- .endm
- /* IQR Handler */
- IRQ WWDGT_IRQHandler
- IRQ LVD_IRQHandler
- IRQ TAMPER_IRQHandler
- IRQ RTC_IRQHandler
- IRQ FMC_IRQHandler
- IRQ RCU_CTC_IRQHandler
- IRQ EXTI0_IRQHandler
- IRQ EXTI1_IRQHandler
- IRQ EXTI2_IRQHandler
- IRQ EXTI3_IRQHandler
- IRQ EXTI4_IRQHandler
- IRQ DMA0_Channel0_IRQHandler
- IRQ DMA0_Channel1_IRQHandler
- IRQ DMA0_Channel2_IRQHandler
- IRQ DMA0_Channel3_IRQHandler
- IRQ DMA0_Channel4_IRQHandler
- IRQ DMA0_Channel5_IRQHandler
- IRQ DMA0_Channel6_IRQHandler
- IRQ ADC0_1_IRQHandler
- IRQ USBD_HP_CAN0_TX_IRQHandler
- IRQ USBD_LP_CAN0_RX0_IRQHandler
- IRQ CAN0_RX1_IRQHandler
- IRQ CAN0_EWMC_IRQHandler
- IRQ EXTI5_9_IRQHandler
- IRQ TIMER0_BRK_IRQHandler
- IRQ TIMER0_UP_IRQHandler
- IRQ TIMER0_TRG_CMT_IRQHandler
- IRQ TIMER0_Channel_IRQHandler
- IRQ TIMER1_IRQHandler
- IRQ TIMER2_IRQHandler
- IRQ TIMER3_IRQHandler
- IRQ I2C0_EV_IRQHandler
- IRQ I2C0_ER_IRQHandler
- IRQ I2C1_EV_IRQHandler
- IRQ I2C1_ER_IRQHandler
- IRQ SPI0_IRQHandler
- IRQ SPI1_IRQHandler
- IRQ USART0_IRQHandler
- IRQ USART1_IRQHandler
- IRQ USART2_IRQHandler
- IRQ EXTI10_15_IRQHandler
- IRQ RTC_Alarm_IRQHandler
- IRQ USBD_WKUP_IRQHandler
- IRQ TIMER7_BRK_IRQHandler
- IRQ TIMER7_UP_IRQHandler
- IRQ TIMER7_TRG_CMT_IRQHandler
- IRQ TIMER7_Channel_IRQHandler
- IRQ ADC2_IRQHandler
- IRQ EXMC_IRQHandler
- IRQ SDIO_IRQHandler
- IRQ TIMER4_IRQHandler
- IRQ SPI2_IRQHandler
- IRQ UART3_IRQHandler
- IRQ UART4_IRQHandler
- IRQ TIMER5_IRQHandler
- IRQ TIMER6_IRQHandler
- IRQ DMA1_Channel0_IRQHandler
- IRQ DMA1_Channel1_IRQHandler
- IRQ DMA1_Channel2_IRQHandler
- IRQ DMA1_Channel3_4_IRQHandler
|