所有存储器可以分成两大类
一:易失性存储器(Volatile Memory)
①:SRAM
SRAM = Static Random Access Memory
中文:静态随机存取存储器
核心一句话
高速、无需刷新、掉电丢失,用于“运行中的临时数据”
特点
⚡ 速度最快(CPU同级访问)
❌ 掉电即丢数据(易失性)
❌ 成本高、面积大
❌ 容量一般较小
❌ 不需要刷新
嵌入式用途
变量(全局/局部)
堆(heap)
栈(stack)
DMA缓存
典型位置
STM32内部RAM
CPU Cache(本质也是SRAM)
②:DRAM
DRAM = Dynamic Random Access Memory
中文:动态随机存取存储器
核心一句话
大容量、便宜、需要刷新、用于“运行缓存扩展”
特点
⚡ 比SRAM慢
✔ 容量大、密度高
❌ 必须周期刷新(Refresh)
❌ 控制复杂(需要控制器)
❌ 掉电丢失
嵌入式用途
SDRAM(LCD framebuffer)
Linux系统内存(DDR)
大数据缓存
典型形式
SDRAM(嵌入式常见)
DDR SDRAM(高端SoC)
二:非易失性存储器(Volatile Memory)
③:EEPROM
英文全称:EEPROM = Electrically Erasable Programmable Read-Only Memory
中文:电可擦可编程只读存储器
核心一句话
小容量、可字节擦写、用于“参数长期保存”
特点
✔ 掉电不丢失
✔ 可以按“字节/很小粒度”写入
❌ 写入慢
❌ 擦写寿命有限
❌ 容量小(KB级常见)
嵌入式用途
参数保存(PID参数、校准值)
设备ID
少量配置数据
工程现实
👉 很多MCU没有真正EEPROM
→ 用Flash模拟EEPROM
④:Flash
英文全称:Flash Memory
中文:闪存
核心一句话
大容量非易失存储,但“必须整块擦写”
特点
✔ 掉电不丢失
✔ 容量大
❌ 写入前必须擦除(块/页)
❌ 写入次数有限
❌ 写入速度比RAM慢
细分特点(工程重点)
NOR Flash
✔ 可执行代码(XIP)
✔ 随机读取
❌ 写慢
👉 用于:MCU程序存储
NAND Flash
✔ 容量巨大
✔ 成本低
❌ 不能直接执行
❌ 需要ECC + 控制器
👉 用于:SD卡 / eMMC
SPI Flash(工程最常见)
✔ NOR Flash + SPI接口
✔ 引脚少
✔ 易扩展
👉 用于:STM32外扩、ESP32、文件系统
三:总结
四:SD卡
SD卡在嵌入式存储体系里不属于SRAM/DRAM/EEPROM/Flash这一层级分类,它属于更上层的一类:
基于 NAND Flash 的“存储卡系统(Storage Card)”