stm32启动流程
一、启动模式
stm32根据两个boot引脚有三种启动模式。分别是
- 从FLASH启动,是直接运行代码常用的模式。地址是0x08000000,被映射到0x00000000
- 从SRAM启动,是进行调试常用的模式。地址是0x20000000,并没有映射到0x00000000,需要在应用程序初始化代码中重新设置向量标的位置。
- 从系统存储器启动,一般是运行芯片厂商烧写好的固件,对stm32来说是串口下载的固件。地址是0x1FFFF000,被映射到0x0000000。
二、硬件复位
1. 复位后的流程
- 只要是复位,硬件就会自动按照启动模式进行内存的映射。例如从Flash启动,会将0x08000000映射到0x00000000。
- cpu上电后处在SVC模式,并且从0x00000000处开始执行代码。
- 正常的启动模式会从0x00000000读取数据,这里存放着中断向量表。中断向量表的第一条是SP地址,
- Title: stm32启动流程
- Author: HarderHeng
- Created at : 2024-10-30 22:58:25
- Updated at : 2025-02-17 09:05:11
- Link: https://harderheng.life/2024/10/30/stm32启动流程/
- License: This work is licensed under CC BY-NC-SA 4.0.
Comments