STM32——程序的启动过程

本文详细介绍了处理器从上电到执行用户程序的过程,包括复位异常、中断向量表的配置、堆栈和PC指针的初始化、系统时钟设置以及C库函数的调用,最终进入main函数。通过分析启动文件startup_stm32f103xe.s,揭示了嵌入式系统的启动细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

处理器的工作:它只要开始工作,就会不断地获取代码,并执行

工作流程:芯片上电后会触发复位异常,把并且会跳转到中断向量表特定偏移位置,获取里面的内容执行,修改复位异常地内容,就可以让处理器执行我们指定的操作

主闪存存储器:可以长时间保存数据

SRAM:静态随机存储器

启动文件分析(startup_stm32f103xe.s)

 程序启动过程

(1)初始化堆栈指针

(2)设置PC指针的值

(3)配置中断向量表

DCD会为指定的目标分配一块以字节为单位的内存

 

(4)配置系统时钟

(5)调用C库函数_main,初始化堆栈的工作,最终会跳转到自己编写的main函数中

参考《Cortex-M3权威指南 》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值