MCU启动过程

启动文件

启动文件到底什么作用,其实启动文件主要是进行堆栈之类的初始化, 中断向量表以及中断函数定义。启动文件要引导进入main 函数。
开发STM32F103用的启动文件是startup_stm32f10x_hd.s
S32K146使用的启动文件是startup_S32K146.S

芯片架构

STM32F103才用Cortex-M3,S32K344采用Cortex-M7,但本质都是Armv7_M架构。

复位中断

Reset_Handler 中断函数是唯一实现了的中断处理函数,其他的中断函数基本都是死循环。 Reset_handler 在我们系统启动的时候会调用,下面让我们看看 Reset_handler 这段汇编代码

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值