STM32启动解析

启动方式对的不同下载模式

STM32可以通过BOOT引脚的配置,来选择不同的启动模式------对应不同的下载方式。

仿真器下载------ 内部FLASH的启动方式

串口下载 ------ 系统存储器的启动方式

内部SRAM一般不用,不讲

启动过程

以内部FLASH的启动方式为例:

启动文件用汇编编写,是系统上电复位后第一个执行的程序。启动文件主要做了以下工作:

当芯片上电后,会读取0x00000000 地址的值赋值给栈指针 MSP,读取0x00000004 地址的值赋值给程序指针 PC。但因为采样到 BOOT0 引脚为低电平时,0x000000000x00000004 地址被映射到内部 FLASH 的首地址 0x08000000 和 0x08000004。完成这两个操作后,内核就可以开始从 PC 指向的地址中读取指令执行了。

在.map文件里可以看到中断向量表的地址就是0x08000000 。

0x08000004存放的就是Reset_Handler函数的地址,重新就会从Reset_Handler函数开始执行。

可以看到,在Reset_Handler函数里完成了SystemInit函数(系统时钟)的调用,以及调用main函数(用户程序)。

相关推荐
秀秀更健康8 分钟前
stm32: 系统时钟如何配置为72Mhz
stm32·单片机·嵌入式硬件
QAQ小菜鸟3 小时前
一、安装Altium Designer 26.1
嵌入式硬件
嵌入式-老费5 小时前
esp32开发与应用(用面包板去学模块)
嵌入式硬件
归零鸟5 小时前
WD Elements移动硬盘能识别出盘但不能出盘的修复记录
stm32·单片机·嵌入式硬件
追兮兮7 小时前
MCUQuickStart v1.1.0发布,一键生成Keil工程+RTOS模板
stm32·单片机·嵌入式硬件·freertos·gd32·keil5
国科安芯7 小时前
ASP7A84AS与主流架构兼容替代及系统级电源完整性解决方案的深度研究
单片机·嵌入式硬件·架构
kaikaile19957 小时前
STC8单片机实现简单花样DMX512控制器
单片机·嵌入式硬件
szxinmai主板定制专家7 小时前
RK3568 + CODESYS+实时系统运动控制器PLC,支持 AI 视觉目标检测,预测性维护,混合多系统部署,多路模拟量采集
arm开发·人工智能·嵌入式硬件·fpga开发
rit84324997 小时前
STM32移植NES模拟器指南
stm32·单片机·嵌入式硬件
都在酒里7 小时前
STM32 I2C通信协议详解——标准库函数实现(通讯协议总结一)
stm32·嵌入式硬件·i2c