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函数(用户程序)。

相关推荐
码农小韩4 分钟前
基于Linux的C++学习——动态数组容器vector
linux·c语言·开发语言·数据结构·c++·单片机·学习
匠在江湖1 小时前
裸机单片机任务调度器实现:基于规范分层(COM/APP/SRV/DRV)架构,(附 任务调度器 / 微秒延时函数 / 串口重定向 源码)
单片机·嵌入式硬件·架构
点灯小铭1 小时前
基于单片机的智能洗碗机控制系统设计
单片机·嵌入式硬件·毕业设计·课程设计
清风6666662 小时前
基于单片机的电加热炉智能温度与液位PID控制系统设计
单片机·嵌入式硬件·mongodb·毕业设计·课程设计·期末大作业
一路往蓝-Anbo3 小时前
第五篇:硬件接口的生死劫 —— GPIO 唤醒与测量陷阱
c语言·驱动开发·stm32·单片机·嵌入式硬件
逑之4 小时前
C语言笔记16:文件操作
c语言·笔记·单片机
2401_863326114 小时前
基于单片机智能光控路灯设计
单片机·嵌入式硬件
清风6666665 小时前
基于单片机的球类比赛专用计分与暂停管理系统设计
单片机·嵌入式硬件·毕业设计·课程设计
Y1rong5 小时前
STM32之时钟
stm32·单片机·嵌入式硬件
yuanmenghao5 小时前
自动驾驶中间件iceoryx - 同步与通知机制(二)
开发语言·单片机·中间件·自动驾驶·信息与通信