半小时搞懂STM32面经知识点——系统架构与启动流程

1.Cortex-M系统

1.1系统结构

在这里插入图片描述
1.处理器核心: Cortex-M3
2.存储器系统: Flash,SRAM,FSMC等
3.总线接口: 核心通过总线接口与外设设备和存储器进行通信。
总线矩阵:总线矩阵是一种硬件结构,用于连接处理器核心、内存和外设等主要组件。
AHB总线:AHB是一种高性能总线,用于连接处理器核心和高带宽外设,如存储器控制器和DMA(Direct Memory Access)控制器等。AHB总线通过总线矩阵与处理器核心和其他高性能组件进行连接。
APB:APB1和APB2是两种低功耗外设总线,用于连接处理器核心和低带宽外设,如串口通信接口、定时器和I/O控制器等。
== APB2负责 AD,I/O,高级TIM,串口1。
APB1负责 DA,USB,SPI,I2C,CAN,串口2345,普通TIM,PWR==
4.外设接口 :Cortex-M处理器通过外设接口与外部设备进行通信,如通用输入输出(GPIO)、串行通信接口(UART/SPI/I2C)和定时器等。
5.DMA: DMA代表Direct Memory Access(直接内存访问)允许外围设备直接与系统内存进行数据传输,而无需处理器的干预。(具体讲解见DMA一文)
6.中断控制器:(具体讲解见中断一文)
7.电源管理单元: 用于实现低功耗操作。它可以对处理器和外部设备进行动态电源管理,以最小化能量消耗并延长电池寿命。

1.2 STM32F1和F4的区别

内核不同:F1是Cortex-M3内核,F4是Cortex-M4内核;
主频不同:F1主频72MHz,F4主频168MHz;
浮点运算:F1无浮点运算单位,F4有;
功能性能:F4外设比F1丰富且功能更强大,比如GPIO翻转速率、上下拉电阻配置、ADC精度等;
内存大小:F1内部SRAM最大64K,F4有192K(112+64+16)。

1.3启动流程

①Boot引脚设定,寻找初始的地址。 (闪存是0x0800000,系统存储器是0x1FFFF000,SRAM是0x20000000)
在这里插入图片描述
启动模式只决定程序烧录的位置,加载完程序之后会有一个重映射(映射到0x00000000地址位置);
值得注意的是STM32上电复位以后,代码区都是从0x00000000开始的,三种启动模式只是将各自存储空间的地址映射到0x00000000中。
②设置堆栈
定义堆栈大小,分配了相应的空间。
栈顶指针_initial_sp,堆的起始地址heap_base定义。
③跳转到Reset_Handler
Reset_Handler 是复位时的处理函数,该函数首先调用 SystemInit(系统时钟) 完成时钟、调用**HardFault_Handler(异常中断)**中断向量偏移的初始化工作,然后跳转到 __main 函数, __main函数会完成RW、ZI数据段的重定位工作,即将ROM中的RW数据拷贝到RAM中,将ZI段清零,然后跳转到_rt_entry进行Stack和Heap的初始化。
④跳转到真正的main函数继续执行用户的主程序

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

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

相关文章

Java——类与对象

目录 一、面向对象的初步认识 1.1 什么是面向对象 1.2 面向对象与面向过程 二、类的定义与使用 2.1 简单认识类 2.2 类的定义格式 三、类的实例化 3.1 什么是实例化 3.2 类和对象的说明 四、this引用 4.1 为什么要有this引用 4.2 什么是this引用 ​编辑 4.3 this引用…

揭秘全网都在搜索的抖音快速涨10000粉的方法,打造真实粉丝海洋!巨量千川投流

抖音作为当下最热门的社交媒体平台之一,拥有数以亿计的用户。对于许多用户来说,快速涨粉成为了一个追逐的目标。在这篇文章中,我们将揭秘一些全网都在搜索的抖音快速涨粉方法,帮助你打造属于自己的真实粉丝海洋。巨量千川投流&…

决策管理中的数学方法

需要注意的是,用excel求解的时候需要导入线性规划加载项如下: pert分析需要DecisionTools中的RiskSolver插件 1.链接:https://pan.baidu.com/s/1wKhUFWgNmQ7U33kl5AypZw 提取码:zqkn 2.“Palisade_Book_expires_Aril_10_2025.lic”文件复制到以下路径: C:\Program Files …

我必须要吹一波MATLAB 2024a,太牛逼了!|福利:附安装教程及下载地址

最近逛MATLAB官网,发现MATLAB 2024a版本已经Pre-release了,翻了下release note,不得不感叹,实在是太强了! 这次重点更新了四个工具箱: Computer Vision Toolbox Deep Learning Toolbox Instrument Contro…

没有公网ip,如何实现外网访问内网?

目前拨号上网是最广泛的上网方式,这种方式优点是价格便宜,缺点是没有固定公网ip,每次重新您拨号ip地址都会变。如果有一台服务器,需要实现外网访问,在没有固定公网ip的环境下,该如何实现呢?使用…

14.跳跃游戏Ⅱ

文章目录 题目简介题目解答解法一:贪心算法动态规划代码:复杂度分析: 题目链接 大家好,我是晓星航。今天为大家带来的是 跳跃游戏Ⅱ 相关的讲解!😀 题目简介 题目解答 解法一:贪心算法动态规划…

【MySQL 数据宝典】【事务锁】- 002 事务控制的演进

一、事务处理思路 1.1 排队 排队处理是事务管理最简单的方法,就是完全顺序执行所有事务的数据库操作,不需要加锁,简单的说就是全局排队。序列化执行所有的事务单元,数据库某个时刻只处理一个事务操作,特点是强一致性…

用HAL库改写江科大的stm32入门例子8-1 DMA数据转运

实验目的:通过DMA把buffer的数据搬运到buffer2当中 //declare a buffer to store the data uint32_t buffer[3] {1,2,3};//declare a buffer to store the data uint32_t buffer2[3] {0,0,0}; DMA:是个搬运数据的小助手。 相关设置: main…

探索国外静态住宅代理:保护网络安全与隐私的利器

随着互联网的日益发展,网络安全和隐私保护成为越来越多用户关注的焦点。在这个信息爆炸的时代,如何确保网络活动的匿名性和安全性成为了我们必须面对的问题。国外静态住宅代理作为一种新兴的网络技术,为我们提供了有效的解决方案。 &#xf…

接口自动化入门: Requests请求头设置详解!

在进行接口自动化测试时,设置请求头是非常重要的一步。请求头可以包含各种信息,例如身份验证、内容类型、接受语言等。在实际的测试中,我们使用Python的Requests库来发送HTTP请求,并设置请求头来模拟不同的场景和需求。 下面将通…

C#二维数组(矩阵)求伴随矩阵和逆矩阵

程序框架及winform窗体 窗体控件: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace Matrix {internal class Algorithm_Gallery{// <summary>/// 计算 A[p,q] 位于 [,]temp 的块辅因子…

STL——deque容器【双端动态数组】

deque容器的基本概念&#xff1a; 功能&#xff1a;双端数组&#xff0c;可以对头端进行插入删除操作 deque与vector的区别&#xff1a; vector队友头部的插入删除效率低&#xff0c;数据量越大&#xff0c;效率越低deque相对而言&#xff0c;对头部的插入删除速度会比vecto…

面试官:SPA(单页应用)首屏加载速度慢怎么解决

一、什么是首屏加载 首屏时间&#xff08;First Contentful Paint&#xff09;&#xff0c;指的是浏览器从响应用户输入网址地址&#xff0c;到首屏内容渲染完成的时间&#xff0c;此时整个网页不一定要全部渲染完成&#xff0c;但需要展示当前视窗需要的内容 首屏加载可以说是…

喜报|才聚荣获“2024年度PMI(中国)注册教育机构杰出机构奖”!

5月10日&#xff0c;“2024PMI&#xff08;中国&#xff09;注册教育机构合作伙伴大会”隆重举行&#xff0c;才聚集团受邀参加此次盛会。 本次大会就项目管理职业生态、发展趋势等热门问题进行了深入探讨分析。 PMP认证自1999年引入中国&#xff0c;为国家培养了大量项目管理…

单细胞分析:多模态 reference mapping (2)

引言 本文[1]介绍了如何在Seurat软件中将查询数据集与经过注释的参考数据集进行匹配。我们展示了如何将来自不同个体的人类骨髓细胞&#xff08;Human BMNC&#xff09;的人类细胞图谱&#xff08;Human Cell Atlas&#xff09;数据集&#xff0c;有序地映射到一个统一的参考框…

总结 UDP 的报文结构和注意事项

UDP协议端格式 UDP报文主体分为两个部分:UDP报头(占8个字节)UDP数据/UDP载荷UPD报头:源端口号目的端口号包长度校验和 1.源端口号&#xff1a;一般是客户端程序程序请求时&#xff0c;由系统自动指定&#xff0c;端口号范围是0~65535&#xff0c; 0 ~ 1023为知名端口号——占16…

算法练习day7

四数相加II 代码随想录 0454.四数相加II 454. 四数相加 II - 力扣&#xff08;LeetCode&#xff09; &#xff08;用时&#xff1a;0.5小时&#xff09; 思路 本道题是需要在四个数组中&#xff0c;各找一个数&#xff0c;这些数加起来能够等于0&#xff0c;那么就是答案元…

slambook2,ch7编译问题

系统环境 ubuntu18&#xff0c;opencv就是默认和ros一起安装的版本,opencv3.2&#xff0c;sophus模板类和非模板类都安装了。 报错信息 主要的原因就是&#xff1a;里面的代码用的是模板类的sophus库&#xff0c;而我安装模板类sophus的时候没有像这篇博客一样Sophus库安装和…

璩静也是受害者

5月7日&#xff0c;“百度副总裁璩静称员工闹分手提离职秒批”话题登上了热搜。在短视频里&#xff0c;璩静是会连续出差50天的“公关人”&#xff0c;没有春节周末、没有假期&#xff0c;她会说“员工闹分手提离职我秒批&#xff0c;为什么要考虑员工的家庭”。有网友对其视频…

JWT生成RSA密钥文档

JWT生成RSA密钥文档 创建jwt文件夹 创建jwt文件夹 进入文件夹 进入jwt文件夹&#xff0c;输入cmd&#xff0c;如图 3、生成公钥私钥 keytool -genkeypair -alias pdm -keyalg RSA -keypass Gacrnd#123 -keystore pdm.jks -storepass Gacrnd#123 -alias&#xff1a;密钥的别名…