ESP-IDF学习笔记1:ROM和RAM等一系存储器

目录

一、简介

二、ROM和RAM

三、IROM和IRAM

1.在SOC架构中

2.在ESP32的Xtensa架构中

四、DROM、DRAM、SRAM、FLASH

1、DROM

2、DRAM和SRAM

3、FLASH

五、RTC、RTC SLOW Memory、RTC FAST Memory

1、RTC

2、RTC SLOW Memory

3、RTC FAST Memory

六、MCU、SOC和嵌入式系统


一、简介

本文记录的所有专业名称,其英文全称,和中文含义都在下表格中

专业名称英文全称中文含义
ROMReal-Only-Memory只读存储器
RAMRamdom Access Memory随机存取存储器
IROMInternal Real-Only-Memory内部只读存储器
IRAMInternal Ramdom Access Memory内部随机存取存储器
DROMData Real-Only-Memory数据只读存储器
DRAMDynamic Ramdom Access Memory动态随机存取存储器
SRAMStatic Ramdom Access Memory静态随机存取存储器
FLASHFlash Memory闪存
MCUMicrocontroller Unit单片机
SOCSystem On A Chip片上系统
嵌入式系统Embedded System嵌入式系统
RTCReal-Time Clock实时时钟
RTC SLOW MemoryRTC SLOW SRAMRTC慢速存储器
RTC FAST MemoryRTC FAST SRAMRTC高速存储器

二、ROM和RAM

ROM只读存储器(Real-Only-Memory),大部分对应外部存储器,一般用于存储永久数据,属于非易失性存储器。程序不能在其上运行,也不能保存在程序运行时的数据。不能通过数据总线、地址总线访问。

前面为什么说是大部分,因为ROM中包含Flash,而Flash是可以通过“擦除-编程”来实现数据的读写的。

RAM随机存取存储器(Ramdom Access Memory),对应内部存储器,一般用于用来暂时存储程序、数据和中间结果,属于易失性存储器。程序能在其上运行,也能保存在程序运行时的数据。可以直接通过数据总线、地址总线访问。

这个易失性存储器的特征,在数据易失这一方面体现,即(断电会丢失数据,电容器或多或少有漏电的情形,不断电数据也会随时间流失,因此需要指定期读取电容器的状态,然后按照原来的状态重新为电容器充电,这一过程称为“刷新)。

三、IROM和IRAM

1.在SOC架构中

IROM:内部只读存储器(Internal Real-Only-Memory),它是 SoC 内部固化的 ROM,用于存储启动代码(如芯片上电后执行的第一阶段引导程序)、基础配置信息或不可修改的固件。

IRAM:内部随机存取存储器(Internal Ramdom Access Memory),它是 SoC 内部的高速 RAM,用于运行启动代码和临时数据处理。RAM 主要用于初始化阶段。

 

2.在ESP32的Xtensa架构中

iROM 和 iRAM 还可指 专门存储指令的存储器。

IROM:指令只读存储器(Instruction Real-Only-Memory),它对应 Flash 中的代码存储区域。

IRAM:指令随机存取存储器(Instruction Ramdom Access Memory),它是片上 SRAM 的一部分,专门用于存储可执行代码。

两者的核心区别在于:iROM 是只读的基础存储,iRAM 是高速可读写的临时运行空间,共同支撑芯片的初始化和程序执行

四、DROM、DRAM、SRAM、FLASH

1、DROM

DROM:数据只读存储器(Data Real-Only-Memory),主要用于存储芯片或设备中固定不变的数据(而非指令)。

2、DRAM和SRAM

DRAM:动态随机存取存储器(Dynamic Ramdom Access Memory),是目前主流的 “内存” 类型,需通过周期性电路刷新来保持数据,用于临时存储运行中的程序和数据;特点是容量大、成本低。

SRAM:静态随机存取存储器(Static Ramdom Access Memory),无需刷新即可保持数据,速度远快于 DRAM,但容量小、成本高,通常用作高速缓存或嵌入式系统中对速度要求极高的临时数据存储。

两者都是断电不保存数据。

3、FLASH

FLASH:闪存(Flash Memory),属于非易失性存储器(断电后数据不丢失),通过 “擦除 - 编程” 实现数据读写。

 

五、RTC、RTC SLOW Memory、RTC FAST Memory

1、RTC

RTC:实时时钟(Real-Time Clock),它是一种专门用于记录和维持当前时间(年、月、日、时、分、秒)的计时模块,核心特点是低功耗,即使设备主电源关闭,也能通过备用电池(如纽扣电池)继续工作,确保时间不丢失。

2、RTC SLOW Memory

RTC SLOW Memory:RTC慢速存储器(RTC SLOW SRAM),是 RTC 模块的 “数据仓库”,通过低功耗设计和跨模块访问能力,支撑设备在深度睡眠下的长期数据存储与轻量级任务。

3、RTC FAST Memory

RTC FAST Memory:RTC高速存储器(RTC FAST SRAM),是 RTC 模块的 “启动引擎”,通过高速访问特性确保设备快速唤醒并执行关键代码。

两者均为片上 SRAM,需通过备用电源(如纽扣电池)维持供电。两者结合使用,可在超低功耗高效运行之间实现平衡,是物联网、可穿戴设备等场景的核心技术支撑。

 

六、MCU、SOC和嵌入式系统

MCU:单片机(Microcontroller Unit),是集成化的微型计算机芯片,典型的有51单片机、STM32等集成有CPU、外设(如GPIO、UART、TIMER等)、内存(RAM、ROM)的单一芯片。

SOC:片上系统(System On A Chip),是高度集成的复杂芯片,除了CPU、基础外设、内存,还可能集成GPU、专用处理器(如DSP、NPU)、无线模块(如WiFi、蓝牙)、存储控制器等,功能覆盖计算、图形、通信等多领域(如手机芯片骁龙8 Gen3、嵌入式芯片ESP32-S3)。

嵌入式系统(Embedded System),是软硬件结合的专业计算机系统,是硬件(MCU\SOC)+软件(RTOS、裸机程序),如智能手表等电子产品。

他们之间的关系是SOC包含MCU(MCU是简单SOC,SOC是MCU+更多功能模块的集合),而嵌入式系统的硬件核心恰恰是MCU\SOC。打个比方说:MCU相当于一个多功能工具;SOC相当于一个工具包,除了基础工具,还有别的复杂工具;嵌入式系统相当于用工具组装的专用机器,是工具(SOC\MCU)+用法(软件)的组合。

7、参考文献

文章一

内存之RAM、SRAM、DRAM、ROM、FLASH、SDRAM、DDR*

文章二

ROM、RAM、IROM、IRAM、DRAM、SRAM、Flash介绍-优快云博客

文章三

存储器类型 - ESP32 - — ESP-IDF 编程指南 v5.5.1 文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值