.syntax unified //启用统一的汇编语法,允许使用ARM和Thumb指令的混合编程
.cpu cortex-m33 //指定目标处理器为Cortex-M33,确保生成的代码与该架构兼容
.fpu softvfp //配置浮点单元为软件浮点,适用于不支持硬件浮点的系统
.thumb //指示编译器生成Thumb指令集代码,以提高代码密度和性能
.global g_pfnVectors //定义全局符号g_pfnVectors(中断向量表)
.global Default_Handler //定义全局符号Default_Handler(默认中断处理函数)
//.word声明对应链接脚本中定义的符号地址
.word _sidata //Flash中初始化数据的起始地址
.word _sdata //SDRAM中.data段的起始地址
.word _edata //SDRAM中.data段的结束地址
.word _sbss //BSS段起始地址
.word _ebss //BSS段结束地址
.word _sicoderam //Flash中初始化数据的源地址
.word _scoderam //CODE_RAM段的起始地址(目标地址)
.word _ecoderam //CODE_RAM段的结束地址
.word _sidataram //初始化数据在Flash中的源地址
.word _sdataram //RAM中普通数据区域起始地址
.word _edataram //RAM中普通数据区域结束地址
.word _siisr_vector //中断向量表在Flash中的源地址
.word _sisr_vector //ITCM中向量表起始地址
.word _eisr_vector //ITCM中向量表结束地址
.word _sicodeitcm //代码在Flash中的源地址
.word _scodeitcm //ITCM目标区域起始地址
.word _ecodeitcm //ITCM目标区域结束地址
.word _sidatadtcm //数据在Flash中的源地址
.word _sdatadtcm //DTCM目标区域起始地址
.word _edatadtcm //DTCM目标区域结束地址
.section .text.Reset_Handler //将Reset_Handler放在.text段中
.weak Reset_Handler //标记为弱符号,允许被其他定义覆盖
.type Reset_Handler, %function
Reset_Handler:
ldr sp, =_estack //设置初始堆栈指针(SP)为_estack,这是链接脚本中定义的栈顶地址
/*有BOOT就可以不用在SystemInit中初始化时钟和SDRAM*/
/*bl SystemInit*/
//将闪存中的数据段初始化值复制到SDRAM,确保.data段在RAM中有正确的初始值
ldr r0, =_sdata //SDRAM中.data段的起始地址
ldr r1, =_edata //SDRAM中.data段的结束地址
ldr r2, =_sidata //Flash中初始化数据的起始地址
movs r3, #0 //初始化偏移计数器
b LoopCopyDataInit //跳转到循环检查
CopyDataInit: //数据搬运段
ldr r4, [r2, r3] //从Flash读取4字节数据(r2基址+r3偏移)
str r4, [r0, r3] //写入SDRAM对应位置(r0基址+r3偏移)
adds r3, r3, #4 //偏移量递增4字节(32位架构)
LoopCopyDataInit: //循环入口
adds r4, r0, r3 //计算当前目标地址
cmp r4, r1 //比较是否到达结束地址
bcc CopyDataInit //若未完成继续复制(bcc=无符号小于跳转)
//从Flash存储器到RAM的代码段初始化复制操作
ldr r0, =_scoderam //目标地址指针(CODE_RAM)
ldr r1, =_ecoderam //结束地址边界检查
ldr r2, =_sicoderam //源数据指针(Flash)
movs r3, #0 //偏移计数器(4字节步进)
b LoopCopyCodeRamInit
CopyCodeRamInit: //代码搬运段
ldr r4, [r2, r3] //从Flash加载4字节数据
str r4, [r0, r3] //存储到CODE_RAM
adds r3, r3, #4 //偏移量+4(32位架构)
LoopCopyCodeRamInit: //循环入口
adds r4, r0, r3 //计算当前目标地址(r0+r3)
cmp r4, r1 //检查是否到达结束地址
bcc CopyCodeRamInit //检查是否到达结束地址
//将数据RAM段初始化器从闪存复制到DATA_RAM
ldr r0, =_sdataram //目标RAM区起始地址(.data段)
ldr r1, =_edataram //目标RAM区结束地址
ldr r2, =_sidataram //Flash中初始化数据的源地址
movs r3, #0 //偏移计数器(4字节步进)
b LoopCopyDataRamInit
CopyDataRamInit: //数据搬运段
ldr r4, [r2, r3] //从Flash加载4字节数据(源地址r2+r3)
str r4, [r0, r3] //存储到RAM(目标地址r0+r3)
adds r3, r3, #4 //偏移量+4(32位架构字对齐)
LoopCopyDataRamInit: //循环入口
adds r4, r0, r3 //计算当前目标地址(r0 + r3)
cmp r4, r1 //检查是否到达结束地址
bcc CopyDataRamInit //若未完成则跳转(bcc=无符号小于)
//中断向量表从Flash到ITCM内存的复制操作
ldr r0, =_sisr_vector //ITCM中目标中断向量表起始地址
ldr r1, =_eisr_vector //ITCM中目标中断向量表结束地址
ldr r2, =_siisr_vector //Flash中源中断向量表起始地址
movs r3, #0 //偏移计数器(4字节步进)
b LoopCopyVtorItcmInit
CopyVtorItcmInit: //数据搬运核心
ldr r4, [r2, r3] //从Flash加载4字节中断向量
str r4, [r0, r3] //存储到ITCM目标地址
adds r3, r3, #4 //偏移量+4(32位字对齐)
LoopCopyVtorItcmInit: //循环控制入口
adds r4, r0, r3 //计算当前目标地址(r0 + r3)
cmp r4, r1 //检查是否到达结束地址
bcc CopyVtorItcmInit //若未完成则跳转(bcc=无符号小于)
//关键代码段从Flash到ITCM的复制操作
ldr r0, =_scodeitcm //ITCM目标区域起始地址(CODR_ITCM段)
ldr r1, =_ecodeitcm //ITCM目标区域结束地址
ldr r2, =_sicodeitcm //Flash中代码镜像的源地址
movs r3, #0 //偏移计数器(4字节步进)
b LoopCopyCodeItcmInit
CopyCodeItcmInit: //数据搬运
ldr r4, [r2, r3] //从Flash加载4字节指令
str r4, [r0, r3] //存入ITCM对应位置
adds r3, r3, #4 //偏移量+4(32位字对齐)
LoopCopyCodeItcmInit: //循环控制
adds r4, r0, r3 //计算当前写入地址(r0+r3)
cmp r4, r1 //检查是否到达结束地址
bcc CopyCodeItcmInit //未完成则跳转(bcc=无符号小于)
//将初始化数据从Flash复制到DTCM
ldr r0, =_sdatadtcm //DTCM目标区域起始地址
ldr r1, =_edatadtcm //DTCM目标区域结束地址
ldr r2, =_sidatadtcm //Flash中数据镜像的源地址
movs r3, #0 //偏移计数器(4字节步进)
b LoopCopyDataDtcmInit
CopyDataDtcmInit: //数据搬运核心
ldr r4, [r2, r3] //从Flash加载4字节数据
str r4, [r0, r3] //存入DTCM对应位置
adds r3, r3, #4 //偏移量+4(32位字对齐)
LoopCopyDataDtcmInit: //循环控制
adds r4, r0, r3 //计算当前目标地址
cmp r4, r1 //边界检查
bcc CopyDataDtcmInit //未完成则跳转(bcc=无符号小于)
//BSS段清零
ldr r2, =_sbss //BSS段起始地址
ldr r4, =_ebss //BSS段结束地址
movs r3, #0 //r3始化为0
b LoopFillZerobss
FillZerobss: //清零操作
str r3, [r2] //写入0值(r3已初始化为0)
adds r2, r2, #4 //地址指针递增4字节(32位对齐)
LoopFillZerobss: //循环控制
cmp r2, r4 //比较当前地址(r2)与结束地址(r4)
bcc FillZerobss //若未完成则跳转(bcc=无符号小于)
bl __libc_init_array //调用C++全局对象构造函数
bl main //跳转至用户main函数
bx lr //main返回后跳回调用者(启动代码)
.size Reset_Handler, .-Reset_Handler //计算Reset_Handler函数/代码块的大小(字节数)
//系统中处理未定义中断的默认处理程序实现,其核心功能是通过无限循环锁定系统状态以便调试
//定义代码段名为.text.Default_Handler
//”ax”标志表示可分配且可执行
//%progbits指定段包含实际指令
.section .text.Default_Handler,”ax”,%progbits
Default_Handler:
Infinite_Loop:
b Infinite_Loop //实现死循环
.size Default_Handler, .-Default_Handler
//定义处理器异常和中断的入口地址
//定义名为.isr_vector的段,”a”表示可分配(allocatable),%progbits表示段包含实际数据
.section .isr_vector,”a”,%progbits
.type g_pfnVectors, %object //声明g_pfnVectors为数据对象
.size g_pfnVectors, .-g_pfnVectors //计算并设置向量表大小
g_pfnVectors:
.word _estack // 主堆栈指针初始值
.word Reset_Handler // 复位处理程序
.word NMI_Handler // 不可屏蔽中断
.word HardFault_Handler // 硬件错误
// 其他异常处理程序
.word MemManage_Handler
.word BusFault_Handler
.word UsageFault_Handler
.word 0
.word 0
.word 0
.word 0
.word SVC_Handler
.word DebugMon_Handler
.word 0
.word PendSV_Handler
.word SysTick_Handler
// 外部中断
.word WDT_IRQHandler
.word LVD_IRQHandler
.word RTC_IRQHandler
.word RSV3_IRQHandler
.word RSV4_IRQHandler
.word RSV5_IRQHandler
.word CLKRDY_IRQHandler
.word EXTI0_IRQHandler
.word EXTI1_IRQHandler
.word EXTI2_IRQHandler
.word EXTI3_IRQHandler
.word EXTI4_IRQHandler
.word RSV12_IRQHandler
.word RSV13_IRQHandler
.word ADC12_IRQHandler
.word ADC3_IRQHandler
.word DAC1_IRQHandler
.word COMP1_IRQHandler
.word USBOTG1_IRQHandler
.word FDCAN1_IRQHandler
.word FDCAN2_IRQHandler
.word EXTI9_5_IRQHandler
.word TIM1_BRK_UP_TRG_COM_IRQHandler
.word TIM1_CC_IRQHandler
.word TIM2_IRQHandler
.word TIM3_IRQHandler
.word TIM6_IRQHandler
.word TIM7_IRQHandler
.word TIM8_BRK_UP_TRG_COM_IRQHandler
.word TIM8_CC_IRQHandler
.word TIM15_IRQHandler
.word TIM16_IRQHandler
.word TIM17_IRQHandler
.word I2C1_IRQHandler
.word I2C2_IRQHandler
.word SPI1_IRQHandler
.word SPI2_IRQHandler
.word SPI3_IRQHandler
.word I2S1_IRQHandler
.word I2S2_IRQHandler
.word USART1_IRQHandler
.word USART2_IRQHandler
.word USART3_IRQHandler
.word USART4_IRQHandler
.word EXTI15_10_IRQHandler
.word USBOTG1_WKUP_IRQHandler
.word LPUART1_IRQHandler
.word LPTIM1_IRQHandler
.word USBOTG2_WKUP_IRQHandler
.word AES_IRQHandler
.word FPU_IRQHandler
.word USBOTG2_IRQHandler
.word DCMI_IRQHandler
.word TIM4_IRQHandler
.word RSV54_IRQHandler
.word IWDT_WKUP_IRQHandler
.word LTDC_IRQHandler
.word LTDC_ERR_IRQHandler
.word DMA2D_IRQHandler
.word LPTIM2_IRQHandler
.word LPTIM3_IRQHandler
.word LPTIM4_IRQHandler
.word LPTIM5_IRQHandler
.word LPTIM6_IRQHandler
.word AES_SPI1_IRQHandler
.word I2S3_IRQHandler
.word SPI4_IRQHandler
.word SPI5_IRQHandler
.word SPI6_IRQHandler
.word I2C3_IRQHandler
.word I2C4_IRQHandler
.word FDCAN3_IRQHandler
.word RSV72_IRQHandler
.word ETH_IRQHandler
.word ETH_WKUP_IRQHandler
.word SDMMC_IRQHandler
.word USART5_IRQHandler
.word USART6_IRQHandler
.word USART7_IRQHandler
.word USART8_IRQHandler
.word USART9_IRQHandler
.word USART10_IRQHandler
.word DAC2_IRQHandler
.word TIM5_IRQHandler
.word TIM9_IRQHandler
.word TIM10_IRQHandler
.word TIM11_IRQHandler
.word TIM12_IRQHandler
.word TIM13_IRQHandler
.word TIM14_IRQHandler
.word TIM18_IRQHandler
.word TIM19_IRQHandler
.word TIM20_BRK_UP_TRG_COM_IRQHandler
.word TIM20_CC_IRQHandler
.word TIM21_IRQHandler
.word TIM22_IRQHandler
.word TIM23_IRQHandler
.word TIM24_IRQHandler
.word TIM25_IRQHandler
.word TIM26_IRQHandler
.word SPI7_IRQHandler
.word SPI8_IRQHandler
.word OSPI1_IRQHandler
.word OSPI2_IRQHandler
.word RSV104_IRQHandler
.word TKEY_IRQHandler
.word LPT_IRQHandler
.word RSV107_IRQHandler
.word OTG1_HS_EP_OUT_IRQHandler
.word OTG1_HS_EP_IN_IRQHandler
.word OTG2_HS_EP_OUT_IRQHandler
.word OTG2_HS_EP_IN_IRQHandler
.word NDL_IRQHandler
.word THM_IRQHandler
.word STM1_PWM_IRQHandler
.word STM2_PWM_IRQHandler
.word DCM1_PWM_IRQHandler
.word DCM2_PWM_IRQHandler
.word DCM3_PWM_IRQHandler
.word DCM4_PWM_IRQHandler
.word STM3_PWM_IRQHandler
.word STM4_PWM_IRQHandler
.word STM5_PWM_IRQHandler
.word STM6_PWM_IRQHandler
.word DCM5_PWM_IRQHandler
.word DCM6_PWM_IRQHandler
.word NAND_IRQHandler
.word BCH_IRQHandler
.word SDRAM_IRQHandler
.word DMA1_CH0_IRQHandler
.word DMA1_CH1_IRQHandler
.word DMA1_CH2_IRQHandler
.word DMA1_CH3_IRQHandler
.word DMA1_CH4_IRQHandler
.word DMA1_CH5_IRQHandler
.word DMA1_CH6_IRQHandler
.word DMA1_CH7_IRQHandler
.word DMA2_CH0_IRQHandler
.word DMA2_CH1_IRQHandler
.word DMA2_CH2_IRQHandler
.word DMA2_CH3_IRQHandler
.word DMA2_CH4_IRQHandler
.word DMA2_CH5_IRQHandler
.word DMA2_CH6_IRQHandler
.word DMA2_CH7_IRQHandler
.word SRAM1_SEC_IRQHandler
.word SRAM1_DED_IRQHandler
.word SRAM3_SEC_IRQHandler
.word SRAM3_DED_IRQHandler
.word BKPSRAM_SEC_IRQHandler
.word BKPSRAM_DED_IRQHandler
//异常处理机制的弱符号定义实现,主要功能是为各类异常处理程序提供默认的弱引用实现
.weak NMI_Handler //.weak伪指令声明符号为弱引用,允许用户代码覆盖这些默认定义
.thumb_set NMI_Handler,Default_Handler //未重定义时自动使用Default_Handler
.weak HardFault_Handler
.thumb_set HardFault_Handler,Default_Handler
.weak MemManage_Handler
.thumb_set MemManage_Handler,Default_Handler
.weak BusFault_Handler
.thumb_set BusFault_Handler,Default_Handler
.weak UsageFault_Handler
.thumb_set UsageFault_Handler,Default_Handler
.weak SVC_Handler
.thumb_set SVC_Handler,Default_Handler
.weak DebugMon_Handler
.thumb_set DebugMon_Handler,Default_Handler
.weak PendSV_Handler
.thumb_set PendSV_Handler,Default_Handler
.weak SysTick_Handler
.thumb_set SysTick_Handler,Default_Handler
.weak WDT_IRQHandler
.thumb_set WDT_IRQHandler,Default_Handler
.weak LVD_IRQHandler
.thumb_set LVD_IRQHandler,Default_Handler
.weak RTC_IRQHandler
.thumb_set RTC_IRQHandler,Default_Handler
.weak RSV3_IRQHandler
.thumb_set RSV3_IRQHandler,Default_Handler
.weak RSV4_IRQHandler
.thumb_set RSV4_IRQHandler,Default_Handler
.weak RSV5_IRQHandler
.thumb_set RSV5_IRQHandler,Default_Handler
.weak CLKRDY_IRQHandler
.thumb_set CLKRDY_IRQHandler,Default_Handler
.weak EXTI0_IRQHandler
.thumb_set EXTI0_IRQHandler,Default_Handler
.weak EXTI1_IRQHandler
.thumb_set EXTI1_IRQHandler,Default_Handler
.weak EXTI2_IRQHandler
.thumb_set EXTI2_IRQHandler,Default_Handler
.weak EXTI3_IRQHandler
.thumb_set EXTI3_IRQHandler,Default_Handler
.weak EXTI4_IRQHandler
.thumb_set EXTI4_IRQHandler,Default_Handler
.weak RSV12_IRQHandler
.thumb_set RSV12_IRQHandler,Default_Handler
.weak RSV13_IRQHandler
.thumb_set RSV13_IRQHandler,Default_Handler
.weak ADC12_IRQHandler
.thumb_set ADC12_IRQHandler,Default_Handler
.weak ADC3_IRQHandler
.thumb_set ADC3_IRQHandler,Default_Handler
.weak DAC1_IRQHandler
.thumb_set DAC1_IRQHandler,Default_Handler
.weak COMP1_IRQHandler
.thumb_set COMP1_IRQHandler,Default_Handler
.weak USBOTG1_IRQHandler
.thumb_set USBOTG1_IRQHandler,Default_Handler
.weak FDCAN1_IRQHandler
.thumb_set FDCAN1_IRQHandler,Default_Handler
.weak FDCAN2_IRQHandler
.thumb_set FDCAN2_IRQHandler,Default_Handler
.weak EXTI9_5_IRQHandler
.thumb_set EXTI9_5_IRQHandler,Default_Handler
.weak TIM1_BRK_UP_TRG_COM_IRQHandler
.thumb_set TIM1_BRK_UP_TRG_COM_IRQHandler,Default_Handler
.weak TIM1_CC_IRQHandler
.thumb_set TIM1_CC_IRQHandler,Default_Handler
.weak TIM2_IRQHandler
.thumb_set TIM2_IRQHandler,Default_Handler
.weak TIM3_IRQHandler
.thumb_set TIM3_IRQHandler,Default_Handler
.weak TIM6_IRQHandler
.thumb_set TIM6_IRQHandler,Default_Handler
.weak TIM7_IRQHandler
.thumb_set TIM7_IRQHandler,Default_Handler
.weak TIM8_BRK_UP_TRG_COM_IRQHandler
.thumb_set TIM8_BRK_UP_TRG_COM_IRQHandler,Default_Handler
.weak TIM8_CC_IRQHandler
.thumb_set TIM8_CC_IRQHandler,Default_Handler
.weak TIM15_IRQHandler
.thumb_set TIM15_IRQHandler,Default_Handler
.weak TIM16_IRQHandler
.thumb_set TIM16_IRQHandler,Default_Handler
.weak TIM17_IRQHandler
.thumb_set TIM17_IRQHandler,Default_Handler
.weak I2C1_IRQHandler
.thumb_set I2C1_IRQHandler,Default_Handler
.weak I2C2_IRQHandler
.thumb_set I2C2_IRQHandler,Default_Handler
.weak SPI1_IRQHandler
.thumb_set SPI1_IRQHandler,Default_Handler
.weak SPI2_IRQHandler
.thumb_set SPI2_IRQHandler,Default_Handler
.weak SPI3_IRQHandler
.thumb_set SPI3_IRQHandler,Default_Handler
.weak I2S1_IRQHandler
.thumb_set I2S1_IRQHandler,Default_Handler
.weak I2S2_IRQHandler
.thumb_set I2S2_IRQHandler,Default_Handler
.weak USART1_IRQHandler
.thumb_set USART1_IRQHandler,Default_Handler
.weak USART2_IRQHandler
.thumb_set USART2_IRQHandler,Default_Handler
.weak USART3_IRQHandler
.thumb_set USART3_IRQHandler,Default_Handler
.weak USART4_IRQHandler
.thumb_set USART4_IRQHandler,Default_Handler
.weak EXTI15_10_IRQHandler
.thumb_set EXTI15_10_IRQHandler,Default_Handler
.weak USBOTG1_WKUP_IRQHandler
.thumb_set USBOTG1_WKUP_IRQHandler,Default_Handler
.weak LPUART1_IRQHandler
.thumb_set LPUART1_IRQHandler,Default_Handler
.weak LPTIM1_IRQHandler
.thumb_set LPTIM1_IRQHandler,Default_Handler
.weak USBOTG2_WKUP_IRQHandler
.thumb_set USBOTG2_WKUP_IRQHandler,Default_Handler
.weak AES_IRQHandler
.thumb_set AES_IRQHandler,Default_Handler
.weak FPU_IRQHandler
.thumb_set FPU_IRQHandler,Default_Handler
.weak USBOTG2_IRQHandler
.thumb_set USBOTG2_IRQHandler,Default_Handler
.weak DCMI_IRQHandler
.thumb_set DCMI_IRQHandler,Default_Handler
.weak TIM4_IRQHandler
.thumb_set TIM4_IRQHandler,Default_Handler
.weak RSV54_IRQHandler
.thumb_set RSV54_IRQHandler,Default_Handler
.weak IWDT_WKUP_IRQHandler
.thumb_set IWDT_WKUP_IRQHandler,Default_Handler
.weak LTDC_IRQHandler
.thumb_set LTDC_IRQHandler,Default_Handler
.weak LTDC_ERR_IRQHandler
.thumb_set LTDC_ERR_IRQHandler,Default_Handler
.weak DMA2D_IRQHandler
.thumb_set DMA2D_IRQHandler,Default_Handler
.weak LPTIM2_IRQHandler
.thumb_set LPTIM2_IRQHandler,Default_Handler
.weak LPTIM3_IRQHandler
.thumb_set LPTIM3_IRQHandler,Default_Handler
.weak LPTIM4_IRQHandler
.thumb_set LPTIM4_IRQHandler,Default_Handler
.weak LPTIM5_IRQHandler
.thumb_set LPTIM5_IRQHandler,Default_Handler
.weak LPTIM6_IRQHandler
.thumb_set LPTIM6_IRQHandler,Default_Handler
.weak AES_SPI1_IRQHandler
.thumb_set AES_SPI1_IRQHandler,Default_Handler
.weak I2S3_IRQHandler
.thumb_set I2S3_IRQHandler,Default_Handler
.weak SPI4_IRQHandler
.thumb_set SPI4_IRQHandler,Default_Handler
.weak SPI5_IRQHandler
.thumb_set SPI5_IRQHandler,Default_Handler
.weak SPI6_IRQHandler
.thumb_set SPI6_IRQHandler,Default_Handler
.weak I2C3_IRQHandler
.thumb_set I2C3_IRQHandler,Default_Handler
.weak I2C4_IRQHandler
.thumb_set I2C4_IRQHandler,Default_Handler
.weak FDCAN3_IRQHandler
.thumb_set FDCAN3_IRQHandler,Default_Handler
.weak RSV72_IRQHandler
.thumb_set RSV72_IRQHandler,Default_Handler
.weak ETH_IRQHandler
.thumb_set ETH_IRQHandler,Default_Handler
.weak ETH_WKUP_IRQHandler
.thumb_set ETH_WKUP_IRQHandler,Default_Handler
.weak SDMMC_IRQHandler
.thumb_set SDMMC_IRQHandler,Default_Handler
.weak USART5_IRQHandler
.thumb_set USART5_IRQHandler,Default_Handler
.weak USART6_IRQHandler
.thumb_set USART6_IRQHandler,Default_Handler
.weak USART7_IRQHandler
.thumb_set USART7_IRQHandler,Default_Handler
.weak USART8_IRQHandler
.thumb_set USART8_IRQHandler,Default_Handler
.weak USART9_IRQHandler
.thumb_set USART9_IRQHandler,Default_Handler
.weak USART10_IRQHandler
.thumb_set USART10_IRQHandler,Default_Handler
.weak DAC2_IRQHandler
.thumb_set DAC2_IRQHandler,Default_Handler
.weak TIM5_IRQHandler
.thumb_set TIM5_IRQHandler,Default_Handler
.weak TIM9_IRQHandler
.thumb_set TIM9_IRQHandler,Default_Handler
.weak TIM10_IRQHandler
.thumb_set TIM10_IRQHandler,Default_Handler
.weak TIM11_IRQHandler
.thumb_set TIM11_IRQHandler,Default_Handler
.weak TIM12_IRQHandler
.thumb_set TIM12_IRQHandler,Default_Handler
.weak TIM13_IRQHandler
.thumb_set TIM13_IRQHandler,Default_Handler
.weak TIM14_IRQHandler
.thumb_set TIM14_IRQHandler,Default_Handler
.weak TIM18_IRQHandler
.thumb_set TIM18_IRQHandler,Default_Handler
.weak TIM19_IRQHandler
.thumb_set TIM19_IRQHandler,Default_Handler
.weak TIM20_BRK_UP_TRG_COM_IRQHandler
.thumb_set TIM20_BRK_UP_TRG_COM_IRQHandler,Default_Handler
.weak TIM20_CC_IRQHandler
.thumb_set TIM20_CC_IRQHandler,Default_Handler
.weak TIM21_IRQHandler
.thumb_set TIM21_IRQHandler,Default_Handler
.weak TIM22_IRQHandler
.thumb_set TIM22_IRQHandler,Default_Handler
.weak TIM23_IRQHandler
.thumb_set TIM23_IRQHandler,Default_Handler
.weak TIM24_IRQHandler
.thumb_set TIM24_IRQHandler,Default_Handler
.weak TIM25_IRQHandler
.thumb_set TIM25_IRQHandler,Default_Handler
.weak TIM26_IRQHandler
.thumb_set TIM26_IRQHandler,Default_Handler
.weak SPI7_IRQHandler
.thumb_set SPI7_IRQHandler,Default_Handler
.weak SPI8_IRQHandler
.thumb_set SPI8_IRQHandler,Default_Handler
.weak OSPI1_IRQHandler
.thumb_set OSPI1_IRQHandler,Default_Handler
.weak OSPI2_IRQHandler
.thumb_set OSPI2_IRQHandler,Default_Handler
.weak RSV104_IRQHandler
.thumb_set RSV104_IRQHandler,Default_Handler
.weak TKEY_IRQHandler
.thumb_set TKEY_IRQHandler,Default_Handler
.weak LPT_IRQHandler
.thumb_set LPT_IRQHandler,Default_Handler
.weak RSV107_IRQHandler
.thumb_set RSV107_IRQHandler,Default_Handler
.weak OTG1_HS_EP_OUT_IRQHandler
.thumb_set OTG1_HS_EP_OUT_IRQHandler,Default_Handler
.weak OTG1_HS_EP_IN_IRQHandler
.thumb_set OTG1_HS_EP_IN_IRQHandler,Default_Handler
.weak OTG2_HS_EP_OUT_IRQHandler
.thumb_set OTG2_HS_EP_OUT_IRQHandler,Default_Handler
.weak OTG2_HS_EP_IN_IRQHandler
.thumb_set OTG2_HS_EP_IN_IRQHandler,Default_Handler
.weak NDL_IRQHandler
.thumb_set NDL_IRQHandler,Default_Handler
.weak THM_IRQHandler
.thumb_set THM_IRQHandler,Default_Handler
.weak STM1_PWM_IRQHandler
.thumb_set STM1_PWM_IRQHandler,Default_Handler
.weak STM2_PWM_IRQHandler
.thumb_set STM2_PWM_IRQHandler,Default_Handler
.weak DCM1_PWM_IRQHandler
.thumb_set DCM1_PWM_IRQHandler,Default_Handler
.weak DCM2_PWM_IRQHandler
.thumb_set DCM2_PWM_IRQHandler,Default_Handler
.weak DCM3_PWM_IRQHandler
.thumb_set DCM3_PWM_IRQHandler,Default_Handler
.weak DCM4_PWM_IRQHandler
.thumb_set DCM4_PWM_IRQHandler,Default_Handler
.weak STM3_PWM_IRQHandler
.thumb_set STM3_PWM_IRQHandler,Default_Handler
.weak STM4_PWM_IRQHandler
.thumb_set STM4_PWM_IRQHandler,Default_Handler
.weak STM5_PWM_IRQHandler
.thumb_set STM5_PWM_IRQHandler,Default_Handler
.weak STM6_PWM_IRQHandler
.thumb_set STM6_PWM_IRQHandler,Default_Handler
.weak DCM5_PWM_IRQHandler
.thumb_set DCM5_PWM_IRQHandler,Default_Handler
.weak DCM6_PWM_IRQHandler
.thumb_set DCM6_PWM_IRQHandler,Default_Handler
.weak NAND_IRQHandler
.thumb_set NAND_IRQHandler,Default_Handler
.weak BCH_IRQHandler
.thumb_set BCH_IRQHandler,Default_Handler
.weak SDRAM_IRQHandler
.thumb_set SDRAM_IRQHandler,Default_Handler
.weak DMA1_CH0_IRQHandler
.thumb_set DMA1_CH0_IRQHandler,Default_Handler
.weak DMA1_CH1_IRQHandler
.thumb_set DMA1_CH1_IRQHandler,Default_Handler
.weak DMA1_CH2_IRQHandler
.thumb_set DMA1_CH2_IRQHandler,Default_Handler
.weak DMA1_CH3_IRQHandler
.thumb_set DMA1_CH3_IRQHandler,Default_Handler
.weak DMA1_CH4_IRQHandler
.thumb_set DMA1_CH4_IRQHandler,Default_Handler
.weak DMA1_CH5_IRQHandler
.thumb_set DMA1_CH5_IRQHandler,Default_Handler
.weak DMA1_CH6_IRQHandler
.thumb_set DMA1_CH6_IRQHandler,Default_Handler
.weak DMA1_CH7_IRQHandler
.thumb_set DMA1_CH7_IRQHandler,Default_Handler
.weak DMA2_CH0_IRQHandler
.thumb_set DMA2_CH0_IRQHandler,Default_Handler
.weak DMA2_CH1_IRQHandler
.thumb_set DMA2_CH1_IRQHandler,Default_Handler
.weak DMA2_CH2_IRQHandler
.thumb_set DMA2_CH2_IRQHandler,Default_Handler
.weak DMA2_CH3_IRQHandler
.thumb_set DMA2_CH3_IRQHandler,Default_Handler
.weak DMA2_CH4_IRQHandler
.thumb_set DMA2_CH4_IRQHandler,Default_Handler
.weak DMA2_CH5_IRQHandler
.thumb_set DMA2_CH5_IRQHandler,Default_Handler
.weak DMA2_CH6_IRQHandler
.thumb_set DMA2_CH6_IRQHandler,Default_Handler
.weak DMA2_CH7_IRQHandler
.thumb_set DMA2_CH7_IRQHandler,Default_Handler
.weak SRAM1_SEC_IRQHandler
.thumb_set SRAM1_SEC_IRQHandler,Default_Handler
.weak SRAM1_DED_IRQHandler
.thumb_set SRAM1_DED_IRQHandler,Default_Handler
.weak SRAM3_SEC_IRQHandler
.thumb_set SRAM3_SEC_IRQHandler,Default_Handler
.weak SRAM3_DED_IRQHandler
.thumb_set SRAM3_DED_IRQHandler,Default_Handler
.weak BKPSRAM_SEC_IRQHandler
.thumb_set BKPSRAM_SEC_IRQHandler,Default_Handler
.weak BKPSRAM_DED_IRQHandler
.thumb_set BKPSRAM_DED_IRQHandler,Default_Handler
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容