STM32的存储结构

STM32F103 芯片是基于 ARM Cortex-M3 内核的微控制器,它集成了多种类型的存储器,每种存储器都有其特定的作用和存储对象。以下是关于 STM32F103 中 Flash、ROM 和 SRAM 的详细介绍:

1. Flash Memory (闪存)

  • 作用:Flash 是非易失性存储器(Non-volatile Memory),即使在断电后也能保持数据。

  • 存储对象

    • 程序代码:Flash 主要用于存放用户编写的固件或应用程序代码。当 MCU 上电时,从 Flash 加载并执行这些代码。
    • 常量数据:如字符串表、查找表等不会更改的数据也可以存储在这里。
    • 配置参数:某些需要长期保存但又不经常改变的数据,比如校准值、用户设置等,可以存储在 Flash 中。
  • 特性

    • 支持读取、编程(写入)和擦除操作。
    • 编程和擦除速度相对较慢,且有一定的寿命限制(擦写次数有限)。
    • 典型容量范围为 16KB 到 512KB(具体取决于型号)。

2. ROM (只读存储器)

  • 作用:ROM 也是一种非易失性存储器,但在 STM32F103 系列中通常指的是内部预编程的存储区域,即包含芯片厂商提供的库函数或其他固定功能。

  • 存储对象

    • 启动代码:一些基本的启动引导代码可能已经固化在 ROM 中。
    • 标准外设库:部分器件可能带有内置的标准外设驱动库,帮助开发者快速上手开发工作。
  • 特性

    • 不可改写,内容由制造商在出厂前烧录好。
    • 由于现代大多数 STM32F103 型号不再配备独立的 ROM 区域,而是完全依赖于用户可编程的 Flash 来实现类似的功能,因此这里的描述适用于早期或者特定版本的 STM32F103。

3. SRAM (静态随机存取存储器)

  • 作用:SRAM 是易失性存储器(Volatile Memory),仅在供电期间保留数据。它是 CPU 进行高速数据交换的地方。

  • 存储对象

    • 变量:全局变量、局部变量、堆栈指针等运行时动态生成的数据都存储在 SRAM 中。
    • 缓冲区:用于临时存储待处理的数据块,例如通信协议中的接收/发送缓冲区。
    • :如果启用了动态内存分配,则用于管理动态分配的内存块。
  • 特性

    • 高速访问,适合频繁读写操作。
    • 断电后数据丢失,因此不适合长期存储。
    • 典型容量范围为 6KB 到 64KB(具体取决于型号)。

总结

  • Flash 用于存放程序代码和持久化的数据。
  • ROM 在 STM32F103 上可能不存在作为独立的存储单元,但如果存在的话,它用来存放固定的启动代码或库函数。
  • SRAM 提供快速的数据访问空间,用于存储运行时的变量、堆栈和其他临时数据。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux 下信号的保存和处理

信号的几个状态 信号抵达: 当接收到的信号被处理时, 此时就成为信号的抵达信号的未决: 从信号的产生到信号抵达这个时间段之间, 称为信号未决信号阻塞: 当进程设置了某个信号为阻塞后, 这个进程就不会在接收到这个信号信号忽略: 将信号设置为忽略后, 接收到这个信号, 对这个信…

mybatisX插件的使用,以及打包成配置

装mybatisX插件; idea连接数据库; 点击mybatisx-generator,设置自己装mybatisX插件; idea连接数据库; 点击mybatisx-generator,设置自己要的包和类; 如果要把自己的配置设置成一个自定义模板&a…

AAAI2023《Controllable Image Captioning via Prompting》

摘要 文章提出了一种通过提示学习(prompt learning)嵌入到图像描述生成框架中的方法,以实现对图像描述的可控生成。具体来说,设计了一组提示来微调预训练的图像描述生成器,这些提示使模型能够吸收来自不同领域的风格化…

AR 眼镜之-拍照/录像动效切换-实现方案

目录 📂 前言 AR 眼镜系统版本 拍照/录像动效切换 1. 🔱 技术方案 1.1 技术方案概述 1.2 实现方案 1)第一阶段动效 2)第二阶段动效 2. 💠 默认代码配置 2.1 XML 初始布局 2.2 监听滑动对 View 改变 3. ⚛️…

kubeneters-循序渐进Cilium网络(二)

文章目录 概要IP 地址配置接口配置解析结论 概要 接续前一章节,我们还是以这张图继续深入Cilium网络世界 IP 地址配置 通过检查 Kubernetes 集群的当前环境,可以获取实际的 IP 地址和配置信息。这些信息将被补充到之前的网络示意图中,以使…

宝塔安装mongodb后,写脚本监控运行状态,关闭后自动重启

最近项目用上了mongodb,但是每天晚上 mongodb都回自动关闭,没办法 只能写个监视服务的脚本 在关闭的话就直接重启,创建个计划任务,每三分钟执行一次 # 检查mongo是否还在进程中 countps aux|grep mongo| grep -v grep |wc -l echo…

备忘录记事工具 四款好用的电脑备忘录记事本分享

在信息爆炸的时代,选择一个合适的备忘录记事工具显得尤为重要。无论是记录工作上的重要事项、学习笔记还是生活中的点滴灵感,一个好的备忘录应用都能成为您得力的小助手。今天,我将为大家深入评测四款各具特色的电脑备忘录记事本软件。 印象…

深入理解 C 语言中浮点型数据在内存中的存储

文章目录 一、浮点型数据存储格式(IEEE 754 标准)二、举例说明单精度浮点数存储过程三、绘图说明四、双精度浮点数存储示例(以1.5为例) 在 C 语言的世界里,数据类型丰富多样,而浮点型数据用于表示实数&…

sql server cdc漏扫数据

SQL Server的CDC指的是“变更数据捕获”(Change Data Capture)。这是SQL Server数据库提供的一项功能,能够跟踪并记录对数据库表中数据所做的更改。这些更改包括插入、更新和删除操作。CDC可以捕获这些变更的详细信息,并使这些信息…

vue3如何使用bus(事件总线)

🚀 个人简介:某大型国企资深软件开发工程师,信息系统项目管理师、CSDN优质创作者、阿里云专家博主,华为云云享专家,分享前端后端相关技术与工作常见问题~ 💟 作 者:码喽的自我修养&#x1f9…

Spring IoC DI 入门 和 使用

Spring IoC & DI入门 和 使用 1. IoC & DI入门1.1 Spring 是什么?1.1.1 什么是容器?1.1.2 什么是IoC? 1.2 IoC介绍1.2.1 传统程序开发1.2.2 问题分析1.2.3 解决方案1.2.4 IoC程序开发1.2.5 IoC优势 1.3 DI介绍 2. IoC 和 DI使用 1. IoC & DI入门 1.1 Spring 是…

计算机网络(三)——局域网和广域网

一、局域网 特点:覆盖较小的地理范围;具有较低的时延和误码率;使用双绞线、同轴电缆、光纤传输,传输效率高;局域网内各节点之间采用以帧为单位的数据传输;支持单播、广播和多播(单播指点对点通信…

mapbox基础,style样式汇总,持续更新

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言二、🍀根属性2.1 so…

551 灌溉

常规解法&#xff1a; #include<bits/stdc.h> using namespace std; int n,m,k,t; const int N105; bool a[N][N],b[N][N]; int cnt; //设置滚动数组来存贮当前和下一状态的条件 //处理传播扩散问题非常有效int main() {cin>>n>>m>>t;for(int i1;i&l…

jenkins入门10--自动化构建

build periodically&#xff1a;设定类似cron周期性时间触发构建 * * * * * (五颗星&#xff0c;中间用空格隔开&#xff09; 第一颗表示分钟&#xff0c;取值0~59 第二颗表示小时&#xff0c;取值0~23 第三颗表示一个月的第几天&#xff0c;取值1~31 第四颗表示第几月&#xf…

[0405].第05节:搭建Redis主从架构

Redis学习大纲 一、3主3从的集群配置&#xff1a; 1.1.集群规划 1.分片集群需要的节点数量较多&#xff0c;这里我们搭建一个最小的分片集群&#xff0c;包含3个master节点&#xff0c;每个master包含一个slave节点&#xff0c;结构如下&#xff1a; 2.每组是一主一从&#x…

新兴的开源 AI Agent 智能体全景技术栈

新兴的开源 AI Agent 智能体全景技术栈 LLMs&#xff1a;开源大模型嵌入模型&#xff1a;开源嵌入模型模型的访问和部署&#xff1a;Ollama数据存储和检索&#xff1a;PostgreSQL, pgvector 和 pgai后端&#xff1a;FastAPI前端&#xff1a;NextJS缺失的一环&#xff1a;评估和…

详细分析 Git 分支重命名与同步操作

目录 前言1. 场景2. 扩展知识 前言 以下小知识点作为讲解介绍&#xff0c;文章较短&#xff0c;作为科普使用 &#x1f91f; 找工作&#xff0c;来万码优才&#xff1a;&#x1f449; #小程序://万码优才/r6rqmzDaXpYkJZF 1. 场景 示例场景&#xff1a;决定将默认分支从 main…

vs2022开发.net窗体应用开发环境安装配置以及程序发布详细教程

文章目录 一、安装visual studio1.1推荐win10操作系统1.2推荐vs20221.3选择工作负载 二、新建基于.net的winform应用程序2.1为什么要.net 2.2 新建.net窗体应用2.2.1 选择Window窗体应用2.2.2 .net窗体对比framework窗体 三、发布.net应用 一、安装visual studio 1.1推荐win10…

Python基于YOLOv8和OpenCV实现车道线和车辆检测

使用YOLOv8&#xff08;You Only Look Once&#xff09;和OpenCV实现车道线和车辆检测&#xff0c;目标是创建一个可以检测道路上的车道并识别车辆的系统&#xff0c;并估计它们与摄像头的距离。该项目结合了计算机视觉技术和深度学习物体检测。 1、系统主要功能 车道检测&am…