半小时搞懂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函数继续执行用户的主程序

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

减瘦误区、雷点、陷阱和挑战怎么应对

在减瘦过程中,很多肥胖人群都容易踩到坑。比如陷入误区,认为只有短期快速的减调方式方法,才值得尝试,而忽视身体健康;或是踩到雷点,轻信强速方剂或方法,结果身体产生了排斥或根本没效用白花钱&a…

经典文献阅读之--VoxFormer(基于Transformer的3D语义场景补全)

0. 简介 之前了解了很多BEV的相关操作,但是基本上要么是激光和视觉结合,要么是纯视觉完成的2D激光投影这两种,而那种3D Occupancy方法可以利用栅格的方法完成纯视觉占据栅格的生成。《VoxFormer: Sparse Voxel Transformer for Camera-based …

Redis如何避免数据丢失?——RDB

目录 1. RDB机制的配置 2. fork()函数和写时复制(Copy On Write) 什么是Copy On Write 系统fork中使用Copy On Write机制 3. RDB文件结构 RDB文件内容和内容顺序 InfoAuxFields是rdb信息数据 数据库数据 数据 数据存储格式 字符串编码 操作码 4. RDB的2…

Measurement and Analysis of Large-Scale Network File System Workloads——论文泛读

ATC 2008 Paper 分布式元数据论文阅读笔记整理 问题 网络文件系统在当今的数据存储中发挥着越来越重要的作用。使用网络文件系统可以降低管理成本,从多个位置可靠地访问的数据。这些系统的设计通常以对文件系统工作负载和用户行为的理解为指导[12,19&a…

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

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

Type-C接口声卡OTG线

随着科技的飞速发展,移动设备已成为我们日常生活中不可或缺的一部分。而在这些设备中,Type-C接口凭借其高速、高效、易用等优点,逐渐成为主流的数据传输和充电接口。与此同时,OTG(On-The-Go)技术的兴起&…

Java刷题-基础篇

目录 题目1:打印1~100内奇数和、偶数和 题目2:计算5的阶乘 题目3:计算 1!2!3!4!5! 的和 题目4:找1~100之间即能被3整除,又能被5整除的数字,要求必须使用break/continue 题目5:实现猜数字小…

毕业论文答辩PPT该怎么做?推荐3个ai工具帮你做答辩ppt

在我原本的认知里面,答辩PPT是要包含论文各个章节的,在答辩时需要方方面面都讲到的,什么摘要、文献综述、实证分析、研究结果样样不落。但是,这大错特错! 答辩PPT环节时长一般不超过5分钟,老师想要的答辩P…

HarmonyOS NEXT星河版之美团外卖点餐功能实战(下)

文章目录 一、购物车逻辑1.1 购物车及加减菜1.2 菜品的加减---方案一1.3 菜品的加减---方案二1.4 购物车View完善1.5 清空购物车1.5 购物车数量和价格 二、小结 一、购物车逻辑 1.1 购物车及加减菜 在utils目录下新建CartStore.ets文件,如下: import …

IndexedDB解密:打开Web应用的数据存储之门

欢迎来到我的博客,代码的世界里,每一行都是一个故事 IndexedDB解密:打开Web应用的数据存储之门 前言IndexedDB简介数据库操作数据检索与索引异步操作与事件处理 前言 在Web的世界里,数据就像是一群旅行者,它们来自各个…

AGV混合型电机驱动器|伺服控制器CNS-MI50H系列对电机的要求

混合型电机驱动器 CNS-MI50H系列涵盖CNS-MI50HB-A、CNS-MI50HBN-A、CNS-MI50HDN-A、CNS-MI50HSN-A型号,专为 AGV 舵轮控制需求设计,集成舵轮转向角度控制和驱动电机闭环控制。支持增量式编码器,霍尔传感器, 角度电位计&#xff0c…

利用106短信群发平台能否提升沟通效率?

利用106短信群发平台确实能够显著提升沟通效率,具体体现在以下几个方面: 1.快速传递信息:106短信群发平台能够实现信息的快速传递。一旦设置好发送内容和接收群体,短信便能在瞬间发送至大量用户。这种即时性确保了信息的迅速传达…

Linux开发--Bootloader应用分析

Bootloader应用分析 一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次: 引导加载程序。包括固化在固件( firmware )中的 boot 代码(可选),和 Boot Loader 两大部分。 Linux 内核。特定于嵌入式板子的定制内核以及内核的启动参数。 文件系统…

idea-自我快捷键-2

1. 书签 创建书签: 创建书签:F11创建特色标记书签:Ctrl F11快速添加助记符书签:ctrl shift 数字键 查看书签: shift F11快速定位到助记符书签:Ctrl 数字键 删除书签: delete 2. 自动…

2024年第四届电子信息工程与计算机科学国际会议(EIECS 2024)

2024年第四届电子信息工程与计算机科学国际会议(EIECS 2024) 2024 4th International Conference on Electronic Information Engineering and Computer Science 中国延吉 | 2024年9月27-29日 投稿截止日期:2023年7月15日 收录检索:EI Compendex和Sc…

Remix Client/Server 架构

Remix 框架是服务端渲染架构,当路由请求时生成 HTML 并返回浏览器。这种 SSR 是如何实现的呢?如果不使用 Remix 这种框架,可以在服务器段启动一个无头浏览器进行页面渲染并返回,代价就是要在服务器上启动一个 Chrome 服务&#xf…

微信小程序按钮去除边框线

通常我们去掉按钮边框直接设置 border:0 但是在小程序中无效,设置outline:none也没用,当然可能你会说加权重无效 实际上该样式是在伪元素::after内,主要你检查css 还看不到有这个关系,鹅厂就是坑多 类样式::after {border: non…

【北京迅为】《iTOP-3588从零搭建ubuntu环境手册》-第3章 Ubuntu20.04系统设置

RK3588是一款低功耗、高性能的处理器,适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用,RK3588支持8K视频编解码,内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP&…

论文精读-存内计算芯片研究进展及应用

文章目录 论文精读-存内计算芯片研究进展及应用概述背景介绍前人工作 存内计算3.1 SRAM存内计算3.2 DRAM存内计算3.3 ReRAM/PCM存内计算3.4 MRAM存内计算3.5 NOR Flash存内计算3.6 基于其他介质的存内计算3.7 存内计算芯片应用场景 总结QA 论文精读-存内计算芯片研究进展及应用…

Echarts旭日图的配置项,强大的层级关系展示图表。

ECharts中的旭日图(Sunburst Chart)是一种数据可视化图表,用于展示层级关系数据。它通常用于呈现树状结构或层级结构的数据,例如组织结构、文件目录结构、地理区域层级等。 旭日图通过圆形的方式展示数据的层级结构,每…