Files
CHJ/startup/IAR/startup_lh32m0S3x.s

444 lines
14 KiB
ArmAsm
Raw Normal View History

2026-03-20 21:16:58 +08:00
;******************** (C) COPYRIGHT 2022 LegendSemi *******************
;* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
;* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
;* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
;* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
;* CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
;* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
;*******************************************************************************
;
; The vector table is normally located at address 0.
; When debugging in RAM, it can be located in RAM, aligned to at least 2^6.
; The name "__vector_table" has special meaning for C-SPY:
; it is where the SP start value is found, and the NVIC vector
; table register (VTOR) is initialized to this address if != 0.
;
; Cortex-M version
;
MODULE ?cstartup
;; Forward declaration of sections.
SECTION CSTACK:DATA:NOROOT(3)
SECTION .intvec:CODE:NOROOT(2)
EXTERN __iar_program_start
EXTERN SystemInit
PUBLIC __vector_table
DATA
__vector_table
DCD sfe(CSTACK)
DCD Reset_Handler ; Reset Handler
DCD NMI_Handler ; NMI Handler
DCD HardFault_Handler ; Hard Fault Handler
DCD MemManage_Handler ; MPU Fault Handler
DCD BusFault_Handler ; Bus Fault Handler
DCD UsageFault_Handler ; Usage Fault Handler
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD SVC_Handler ; SVCall Handler
DCD DebugMon_Handler ; Debug Monitor Handler
DCD 0 ; Reserved
DCD PendSV_Handler ; PendSV Handler
DCD SysTick_Handler ; SysTick Handler
; External Interrupts
DCD WWDG_IRQHandler ; 0: window Watchdog Timer
DCD PVD_IRQHandler ; 1:
DCD 0 ; 2:
DCD RTC_IRQHandler ; 3: RTC
DCD FLASH_IRQHandler ; 4: FLASH
DCD RCC_IRQHandler ; 5: RCC
DCD EXTI0_IRQHandler ; 6: EXTI0
DCD EXTI1_IRQHandler ; 7: EXTI1
DCD EXTI2_IRQHandler ; 8: EXTI2
DCD EXTI3_IRQHandler ; 9: EXTI3
DCD EXTI4_IRQHandler ; 10: EXTI4
DCD DMA_CH1_IRQHandler ; 11:
DCD SPI1_IRQHandler ; 12:
DCD UART1_IRQHandler ; 13:
DCD RTCAlarm_IRQHandler ; 14:
DCD QSPI_IRQHandler ; 15:
DCD BEEPER_IRQHandler ; 16:
DCD LCD_IRQHandler ; 17:
DCD ADC_IRQHandler ; 18:
DCD 0 ; 19:
DCD ADC_SEQ_IRQHandler ; 20:
DCD 0 ; 21:
DCD LED_IRQHandler ; 22:
DCD EXINT7_5_IRQHandler ; 23:
DCD TIMER1_BRK_IRQHandler ; 24:
DCD TIMER1_UP_IRQHandler ; 25:
DCD TIMER1_TRIG_COM_IRQHandler ; 26:
DCD TIMER1_CC_IRQHandler ; 27:
DCD TIMER2_IRQHandler ; 28:
DCD 0 ; 29:
DCD I2C_ER_IRQHandler ; 30:
DCD I2C_EV_IRQHandler ; 31:
DCD 0 ; 32:
DCD 0 ; 33:
DCD 0 ; 34:
DCD 0 ; 35:
DCD 0 ; 36:
DCD 0 ; 37:
DCD 0 ; 38:
DCD 0 ; 39:
DCD 0 ; 40:
DCD 0 ; 41:
DCD 0 ; 42:
DCD 0 ; 43:
DCD 0 ; 44:
DCD 0 ; 45:
DCD 0 ; 46:
DCD 0 ; 47:
DCD 0 ; 48:
DCD 0 ; 49:
DCD 0 ; 50:
DCD 0 ; 51:
DCD 0 ; 52:
DCD 0 ; 53:
DCD 0 ; 54:
DCD 0 ; 55:
DCD 0 ; 56:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Default interrupt handlers.
;;
THUMB
PUBWEAK Reset_Handler
SECTION .text:CODE:REORDER:NOROOT(2)
Reset_Handler
MOVS.N R1,#0
LDR R0,[R1]
MOV SP,R0
LDR R0, =SystemInit
BLX R0
LDR R0, =__iar_program_start
BX R0
PUBWEAK NMI_Handler
SECTION .text:CODE:REORDER:NOROOT(1)
NMI_Handler
B NMI_Handler
PUBWEAK HardFault_Handler
SECTION .text:CODE:REORDER:NOROOT(1)
HardFault_Handler
B HardFault_Handler
PUBWEAK MemManage_Handler
SECTION .text:CODE:REORDER:NOROOT(1)
MemManage_Handler
B MemManage_Handler
PUBWEAK BusFault_Handler
SECTION .text:CODE:REORDER:NOROOT(1)
BusFault_Handler
B BusFault_Handler
PUBWEAK UsageFault_Handler
SECTION .text:CODE:REORDER:NOROOT(1)
UsageFault_Handler
B UsageFault_Handler
PUBWEAK SVC_Handler
SECTION .text:CODE:REORDER:NOROOT(1)
SVC_Handler
B SVC_Handler
PUBWEAK DebugMon_Handler
SECTION .text:CODE:REORDER:NOROOT(1)
DebugMon_Handler
B DebugMon_Handler
PUBWEAK PendSV_Handler
SECTION .text:CODE:REORDER:NOROOT(1)
PendSV_Handler
B PendSV_Handler
PUBWEAK SysTick_Handler
SECTION .text:CODE:REORDER:NOROOT(1)
SysTick_Handler
B SysTick_Handler
PUBWEAK WWDG_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
WWDG_IRQHandler
B WWDG_IRQHandler
PUBWEAK PVD_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
PVD_IRQHandler
B PVD_IRQHandler
PUBWEAK RTCAlarm_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
RTCAlarm_IRQHandler
B RTCAlarm_IRQHandler
PUBWEAK QSPI_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
QSPI_IRQHandler
B QSPI_IRQHandler
PUBWEAK BEEPER_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
BEEPER_IRQHandler
B BEEPER_IRQHandler
PUBWEAK LCD_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
LCD_IRQHandler
B LCD_IRQHandler
PUBWEAK ADC_SEQ_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
ADC_SEQ_IRQHandler
B ADC_SEQ_IRQHandler
PUBWEAK LED_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
LED_IRQHandler
B LED_IRQHandler
PUBWEAK EXINT7_5_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
EXINT7_5_IRQHandler
B EXINT7_5_IRQHandler
PUBWEAK TIMER1_BRK_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
TIMER1_BRK_IRQHandler
B TIMER1_BRK_IRQHandler
PUBWEAK TIMER1_UP_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
TIMER1_UP_IRQHandler
B TIMER1_UP_IRQHandler
PUBWEAK TIMER1_TRIG_COM_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
TIMER1_TRIG_COM_IRQHandler
B TIMER1_TRIG_COM_IRQHandler
PUBWEAK TIMER1_CC_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
TIMER1_CC_IRQHandler
B TIMER1_CC_IRQHandler
PUBWEAK RTC_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
RTC_IRQHandler
B RTC_IRQHandler
PUBWEAK FLASH_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
FLASH_IRQHandler
B FLASH_IRQHandler
PUBWEAK RCC_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
RCC_IRQHandler
B RCC_IRQHandler
PUBWEAK EXTI0_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
EXTI0_IRQHandler
B EXTI0_IRQHandler
PUBWEAK EXTI1_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
EXTI1_IRQHandler
B EXTI1_IRQHandler
PUBWEAK EXTI2_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
EXTI2_IRQHandler
B EXTI2_IRQHandler
PUBWEAK EXTI3_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
EXTI3_IRQHandler
B EXTI3_IRQHandler
PUBWEAK EXTI4_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
EXTI4_IRQHandler
B EXTI4_IRQHandler
PUBWEAK DMA_CH1_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
DMA_CH1_IRQHandler
B DMA_CH1_IRQHandler
PUBWEAK DMA_CH2_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
DMA_CH2_IRQHandler
B DMA_CH2_IRQHandler
PUBWEAK DMA_CH3_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
DMA_CH3_IRQHandler
B DMA_CH3_IRQHandler
PUBWEAK DMA_CH4_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
DMA_CH4_IRQHandler
B DMA_CH4_IRQHandler
PUBWEAK DMA_CH5_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
DMA_CH5_IRQHandler
B DMA_CH5_IRQHandler
PUBWEAK DMA_CH6_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
DMA_CH6_IRQHandler
B DMA_CH6_IRQHandler
PUBWEAK DMA_CH7_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
DMA_CH7_IRQHandler
B DMA_CH7_IRQHandler
PUBWEAK ADC_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
ADC_IRQHandler
B ADC_IRQHandler
PUBWEAK COMP_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
COMP_IRQHandler
B COMP_IRQHandler
PUBWEAK EXINT9_5_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
EXINT9_5_IRQHandler
B EXINT9_5_IRQHandler
PUBWEAK TIMER2_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
TIMER2_IRQHandler
B TIMER2_IRQHandler
PUBWEAK TIMER3_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
TIMER3_IRQHandler
B TIMER3_IRQHandler
PUBWEAK TIMER4_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
TIMER4_IRQHandler
B TIMER4_IRQHandler
PUBWEAK I2C_EV_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
I2C_EV_IRQHandler
B I2C_EV_IRQHandler
PUBWEAK I2C_ER_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
I2C_ER_IRQHandler
B I2C_ER_IRQHandler
PUBWEAK SPI1_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
SPI1_IRQHandler
B SPI1_IRQHandler
PUBWEAK SPI2_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
SPI2_IRQHandler
B SPI2_IRQHandler
PUBWEAK UART1_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
UART1_IRQHandler
B UART1_IRQHandler
PUBWEAK EXTI15_10_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
EXTI15_10_IRQHandler
B EXTI15_10_IRQHandler
PUBWEAK EXTI17_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
EXTI17_IRQHandler
B EXTI17_IRQHandler
PUBWEAK EXTI18_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
EXTI18_IRQHandler
B EXTI18_IRQHandler
PUBWEAK TIMER5_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
TIMER5_IRQHandler
B TIMER5_IRQHandler
PUBWEAK SPI3_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
SPI3_IRQHandler
B SPI3_IRQHandler
PUBWEAK CACHE_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
CACHE_IRQHandler
B CACHE_IRQHandler
PUBWEAK DMA2_CH1_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
DMA2_CH1_IRQHandler
B DMA2_CH1_IRQHandler
PUBWEAK DMA2_CH2_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
DMA2_CH2_IRQHandler
B DMA2_CH2_IRQHandler
PUBWEAK DMA2_CH3_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
DMA2_CH3_IRQHandler
B DMA2_CH3_IRQHandler
PUBWEAK DMA2_CH4_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
DMA2_CH4_IRQHandler
B DMA2_CH4_IRQHandler
PUBWEAK DMA2_CH5_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
DMA2_CH5_IRQHandler
B DMA2_CH5_IRQHandler
PUBWEAK DIG_COMP_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
DIG_COMP_IRQHandler
B DIG_COMP_IRQHandler
PUBWEAK MDIO_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
MDIO_IRQHandler
B MDIO_IRQHandler
PUBWEAK PLA0_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
PLA0_IRQHandler
B PLA0_IRQHandler
PUBWEAK PLA2_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
PLA2_IRQHandler
B PLA2_IRQHandler
END
/******************* (C) COPYRIGHT 2022 LegendSemi *****END OF FILE****/