启动文件
启动文件到底什么作用,其实启动文件主要是进行堆栈之类的初始化, 中断向量表以及中断函数定义。启动文件要引导进入main 函数。
开发STM32F103用的启动文件是startup_stm32f10x_hd.s
S32K146使用的启动文件是startup_S32K146.S
芯片架构
STM32F103才用Cortex-M3,S32K344采用Cortex-M7,但本质都是Armv7_M架构。文章来源:https://www.toymoban.com/news/detail-510793.html
复位中断
Reset_Handler 中断函数是唯一实现了的中断处理函数,其他的中断函数基本都是死循环。 Reset_handler 在我们系统启动的时候会调用,下面让我们看看 Reset_handler 这段汇编代码文章来源地址https://www.toymoban.com/news/detail-510793.html
STM32F103复位中断处理
; Reset handler
Reset_Handler PROC
EXPORT Reset_Handler [WEAK] ;
IMPORT __main
IMPORT SystemInit
LDR R0, =SystemInit ;从存储器中加载字到一个寄存器中
BLX R0 ;转移到由寄存器R0给出的地址,根据R0的 LSB(最低有效位)切换处理器状态,并且把转移前的下条指令地址保存到 LR(连接寄存器)
LDR R0, =__main
BX R0 ;转移到由寄存器R0给出的地址
ENDP
到了这里,关于MCU启动过程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!