STM32启动过程

news2024/9/29 23:23:07

STM32启动模式(自举模式)

M3/3/7等内核,复位后做的第一件事:

  1. 从地址0x0000 0000处取出栈指针MSP的初始值,该值就是栈顶地址。
  2. 从地址0x0000 0004处取出程序计数器指针PC的初始值,该值是复位向量。

在这里插入图片描述

芯片厂商会把0x00000000和0x00000004地址映射到其它的地址。

在系统复位后,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存。
在这里插入图片描述

STM32启动过程(内部FLASH启动)

在这里插入图片描述

  1. 初始化MSP:从0x0800 0000获取
  2. 初始化PC:从0x0800 0004获取
  3. 设置堆栈大小:Heap_Size(堆)、Stack_Size(栈)
  4. 初始化中断向量表:__Vectors定义
  5. 调用初始化函数:可选的,如调用:SystemInit函数
  6. 调用__main:标准C库函数,执行一系列设置,最终调用main函数

Reset_Handler函数介绍

Reset_Handler PROC
	EXPORT Reset_Handler [WEAK]
	IMPORT __main
	IMPORT SystemInit
	LDR R0,=SystemInit
	BLX R0
	LDR R0,=__main
	BX R0
	ENDP

EXPORT:标明全局属性,可被外部调用。
IMPORT:申明来自外部文件,类extern
PROC:表示子程序
ENDP:表示子程序结束
WAEK:弱定义

堆栈简介

  • 栈:编译器自动分配和释放,存放函数参数、局部变量等。
  • 堆:程序员分配和释放,如malloc、calloc、realloc等。

函数局部变量较多,嵌套关系复杂时,需要加大栈大小!

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1322922.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【BIG_FG_CSDN】*VMware17pro*Linux*Redhit6网络管理(个人向——学习笔记)

物理机中的网络 查看物理网络的方法 “网络连接”—>单点选中网络的选项-->菜单栏中“查看此连接状态”-->“详细信息” “网络连接”中的VM网卡 在主机上对应的有VMware Network Adapter VMnet1和VMware Network Adapter VMnet8两块虚拟网卡,它们分别…

Python四种配色方案,适合科研的配色

1、Plasma(等高线图颜色)2、Inferno(黑热图颜色)3、Cividis(较好的配色方案,适用于色盲)4、Viridis(绿色主导的配色方案) 下面这四种配色是不需要指定的,Pyth…

个微和企微,哪个做私域流量的优势更大?

个人微信和企业微信是目前最为常用的私域经营平台,那在功能和使用上都有哪些区别: 1、开通对象不同: 个人微信是个人用户,个人就可以申请开通使用; 企业微信则要由企业在官方网站申请开通,并完成实名认证…

泰坦陨落2找不到msvcr120文件的修复方法,分享多种解决方法

在玩泰坦陨落2这款游戏时,有些玩家可能会遇到找不到msvcr120.dll文件的问题。这个问题可能是由于游戏缺少必要的运行库导致的。下面我将分享一些解决这个问题的方法,希望对大家有所帮助。 一、问题分析 msvcr120.dll是Microsoft Visual C Redistributab…

C语言进阶第十一节 --------程序环境和预处理(包含宏的解释)

作者前言 🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂 ​🎂 作者介绍: 🎂🎂 🎂 🎉🎉&#x1f389…

一招教你如何绕过OpenAI API key创建时需要手机号验证

一招教你如何绕过OpenAI API key创建时需要手机号验证 虽然现在 ChatGPT 注册门槛极大地降低。但是,如果你是开发者或者需要第三方应用接入ChatGPT,此时就需要获取一个 API key,然而你可能会发现在你在创建 key 的过程中需要进行手机号验证。…

可控硅(晶闸管)原理图及可控硅工作原理分析

可控硅(晶闸管)原理图 可控硅T在工作过程中,它的阳极A和阴极K与电源和负载连接,组成可控硅的主电路,可控硅的门极G和阴极K与控制可控硅的装置连接,组成可控硅的控制电路。 从可控硅的内部分析工作过程: 可控硅是四层…

校园转转二手市场源码+Java二手交易市场整站源码

源码介绍 校园转转二手市场源码分享,Java写的应用,mybatis-plus 和 Hibernate随心用 后台地址:/home/index/index 账号密码:admin/123456 前台地址:/system/login

企业微信自动登录自定义系统

方法一:企业微信构造OAuth2链接跳转登录到自定义系统 企业微信自定义应用配置 构造网页授权链接 如果企业需要在打开的网页里面携带用户的身份信息,第一步需要构造如下的链接来获取code参数: https://open.weixin.qq.com/connect/oauth2/…

重新配置torch1.8 cuda11.1 torchtext0.9.0虚拟Pytorch开发环境

这里写目录标题 起因发现选择安装cuda 11.1核对下自己的显卡是否支持下载该版本的CUDACUDA下载地址CUDA安装过程在anaconda中创建一个虚拟环境1.以下是环境的配置过程2.查看虚拟环境列表3.激活虚拟环境4.输入这句代码,没想到就可以直接安装torch和torchtext了[网站在…

计算机基础,以及实施运维工程师介绍

目录 一.实施,运维工程师介绍 1.什么是实施工程师? 实施工程师职责 2.什么是运维工程师? 运维工程师职责 3.实施运维需要的技术 数据库 操作系统 网络 服务器 软件 硬件 网络 二.计算机介绍 CPU 存储器 io 总线 主板 三.操…

【lesson18】MySQL内置函数(1)日期函数和字符串函数

文章目录 日期函数函数使用具体使用案例建表插入数据建表插入数据 字符串函数函数使用具体使用案例建表插入数据测试 日期函数 函数使用 获得年月日: 获得时分秒: 获得时间戳: 获得现在的时间: 在日期的基础上加日期&#xf…

JavaWeb 学生信息管理系统

介绍 ServletMysqlJdbcjQuery 实现学生信息管理系统 学生 班级 教师 系统设置 登陆 软件架构 软件架构说明 基于ServletMysqlJdbcjQuery 实现学生信息的增删改查功能 文件目录声明 src/dao 数据库的增删改查功能src/filter 网页的过滤拦截功能src/model 登陆的实体对象信息…

深度学习 Day19——P8YOLOv5-C3模块实现

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 | 接辅导、项目定制 文章目录 前言1 我的环境2 代码实现与执行结果2.1 前期准备2.1.1 引入库2.1.2 设置GPU(如果设备上支持GPU就使用GPU,否则使用C…

[BJDCTF2020]Mark loves cat1

提示 -信息收集.git泄露php代码审计 拿到题先做信息收集 这里用dirsearch扫了下目录 ###如果没有dirsearch我在之前的这篇博客有写dirsearch的安装环境以及地址还有怎么扫buuctf里的题 [GXYCTF2019]禁止套娃1-CSDN博客 从扫描结果来看这里存在git泄露 这里使用githack拉下来git…

Java并发(二十)----synchronized原理进阶

1、小故事 故事角色 老王 - JVM 小南 - 线程 小女 - 线程 房间 - 对象 房间门上 - 防盗锁 - Monitor-重量级锁 房间门上 - 小南书包 - 轻量级锁 房间门上 - 刻上小南大名 - 偏向锁 -对象专属于某个线程使用 批量重刻名 - 一个类的偏向锁撤销到达 20 阈值 -批量重偏向 …

从企业的角度看待WMS仓储管理系统的集成

随着全球化和数字化的发展,企业面临着越来越复杂的商业环境。为了满足高效运营的需求,许多企业开始寻求更先进、更集成的解决方案来优化他们的仓储流程。WMS仓储管理系统作为一种重要的解决方案,在企业中发挥着关键的作用。本文将从企业的角度…

Android studio Android SDK下载安装

我们访问地址 https://developer.android.google.cn/studio?hlzh-cn 拉下来直接点击下载 然后来下来 勾选 然后点击下载 下载好之后 我们双击打开 点击下一步 确认上面的勾选 然后下一步 这里 我们选择一下安装目录 然后点击下一步 安装 安装完之后点击进行下一步 Fin…

echarts 饼图3样式

父组件&#xff1a; <pieChartNormal :opt"contractStatics" style"width: 100%;height: 100%;" />import pieChartNormal from "./components/pieChartNormal";data() {return {contractStatics: {seriesData: [{name: 技术服务类,value:…

Gemini Pro API 详细申请步骤

Gemini Pro API 详细申请步骤 什么是 Gemini ? 上周&#xff0c;谷歌发布了 Gemini&#xff08;双子座&#xff09;&#xff0c;它是谷歌最新、最强大的人工智能模型&#xff0c;旨在迎头痛击 OpenAI 的 GPT。Gemini 在构建时考虑到了多模态性&#xff0c;这意味着它能够理解…