当前位置: 首页 > article >正文

2.4 STM32启动过程

目录

一,启动Flow

1.1 初始化MSP

1.2 初始化PC

1.3 设置堆栈大小

1.4初始化中断向量表

1.5 调用初始化函数(可选)

1.6 调用__main

二,Reset_Handler函数


一,启动Flow

下面是stm32在内部FLASH启动的启动建议流程图,在stm32复位到执行我们程序的main函数的过程中,最重要的就是我们的启动文件。

1.1 初始化MSP

MSP指向主堆栈的顶部,所有函数的局部变量、参数、返回值等都会存储在堆栈中。初始化MSP是为后续的程序运行准备堆栈空间。

系统复位后,处理器会从地址0x08000000处读取一个32位的值,这个值就是主堆栈指针MSP的初始值。

1.2 初始化PC

PC指向当前要执行的指令,是程序执行的控制中心。

紧随MSP之后,处理器从地址0x08000004处读取一个32位的值,这个值就是程序计数器的初始值,即程序开始执行的第一条指令的地址。


http://www.kler.cn/a/350451.html

相关文章:

  • 浅说树上倍增(下)
  • 蓝桥杯训练—矩形面积交
  • [Qt] Box Model | 控件样式 | 实现log_in界面
  • 架构思考与实践:从通用到场景的转变
  • 嵌入式知识点总结 C/C++ 专题提升(一)-关键字
  • Web小练习01
  • 操作系统(2) (进程调度/进程调度器类型/三种进程调度/调度算法)
  • Qt-系统线程安全(63)
  • 【系统架构设计师】案例专题二:系统开发基础考点梳理
  • Python 如何使用 Bert 进行中文情感分析
  • Linux网络命令:用于管理和显示网络路由表的工具route详解
  • KAN论文
  • PCL滤波器之面试总结
  • linux----cd和pwd命令
  • 基于yolov5的手机屏幕缺陷检测系统,支持图像、视频和摄像实时检测【pytorch框架、python源码】
  • 前端vue-获取验证码和重新获取验证码倒计时
  • 【数据结构】栈和队列 + 经典算法题
  • C语言 编程练习:解决五个有趣的问题
  • Lumerical学习——分析工具(Analysis tools)
  • 0047__【python打包分发工具】setuptools详解
  • Gin框架操作指南10:服务器与高级功能
  • 移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——6.vector(无习题)
  • React native之全局变量存储AsyncStorage
  • linux 环境运行 jenkins.war包,有可能会出现字体问题,jdk版本:11 jenkins 版本:2.420
  • 数据结构常考基础代码题-顺序表有序插入
  • JAVA基础(6)