找回密码
 立即注册
首页 业界区 安全 浅谈STM32启动流程

浅谈STM32启动流程

吞脚 3 天前
1启动流程

主要分为三个步骤:
1、上电复位进入程序入口地址
2、系统时钟初始化
3、进入main函数
1.1启动文件做了什么?

初始化堆栈、中断向量表、调用一些初始化函数、跳转到main
1.png

1.2上电复位

上电后,CPU从一个固定的地址0x0000 0000开始执行指令。该地址根据boot引脚的配置,可以选择映射到哪个一个地址。
2.png

1.2.1BOOT引脚的配置

一般在外围设计一个复位电路控制,共有三个地址可供选择:
1、Flash(掉电不丢失)
2、system memory(出厂设置,不可擦除)
3、RAM(掉电丢失)
3.png

一般情况选择flash(0x0800 0000)。
1.3flash中会自动完成什么?

1、msp指针初始化
2、复位中断函数
在起始位置是一张中断向量表,源码中有注释
4.png

5.png

第一个字(4字节)中,保存了栈顶地址,因此该地址已也被称为msp指针,表示指向栈顶地址。
第二个字(4字节)中,保存了复位中断函数,cpu直接执行该函数,实现了系统时钟初始化和进入main
6.png


来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册