stm32启动流程

HarderHeng Lv5

一、启动模式

stm32根据两个boot引脚有三种启动模式。分别是

  • 从FLASH启动,是直接运行代码常用的模式。地址是0x08000000,被映射到0x00000000
  • 从SRAM启动,是进行调试常用的模式。地址是0x20000000,并没有映射到0x00000000,需要在应用程序初始化代码中重新设置向量标的位置。
  • 从系统存储器启动,一般是运行芯片厂商烧写好的固件,对stm32来说是串口下载的固件。地址是0x1FFFF000,被映射到0x0000000。

二、硬件复位

1. 复位后的流程

  1. 只要是复位,硬件就会自动按照启动模式进行内存的映射。例如从Flash启动,会将0x08000000映射到0x00000000。
  2. cpu上电后处在SVC模式,并且从0x00000000处开始执行代码。
  3. 正常的启动模式会从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