Systick中断函数SysTick_Handler
https://blog.csdn.net/u011401496/article/details/42882553
https://doc.embedfire.com/mcu/stm32/f407batianhu/std/zh/latest/book/Startup_file.html
单片机卡死在*.s启动文件Systick Handler B.处:打开了中断,但是没有中断处理函数,或者中断处理函数错误(系统未识别)
中断函数在startup_*.s
文件里注册,修改函数名也是从这里修改。中断向量表:
__Vectors DCD __initial_sp ; Top of Stack
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
定义了子程序SysTick_Handler:
SysTick_Handler PROC
EXPORT SysTick_Handler [WEAK]
B .
ENDP
**EXPORT:**声明一个标号可被外部的文件使用,使标号具有全局属性。如果是IAR编译器,则使用的是GLOBAL这个指令。 WEAK:表示弱定义,如果外部文件优先定义了该标号则首先引用该标号,如果外部文件没有声明也不会出错。这里表示复位子程序可以由用户在其他文件重新实现,这里并不是唯一的。