EMMC和NOR Flash是什么?烧录是什么意思?
2026-06-29 08:01:59一、eMMC 是什么?
📌 全称:
eMMC = embedded MultiMediaCard(嵌入式多媒体卡)
🔍 本质:
一种 集成化的存储芯片,把 NAND Flash 闪存 + 控制器 封装在一个小芯片里。
相当于一个“微型 SSD”,但成本更低、接口更简单。
🧩 内部组成:
+---------------------+
| NAND Flash 芯片 | ← 存储数据的物理介质(类似硬盘盘片)
+---------------------+
| 闪存控制器 (Controller) | ← 负责坏块管理、磨损均衡、ECC纠错等
+---------------------+
| 标准 MMC 接口 | ← 通过 CMD/DATA 信号与主控通信
+---------------------+
✅ 特点:
优点
缺点
成本低、体积小
速度比 UFS/SSD 慢
使用简单(主控无需管理 NAND 细节)
寿命有限(写入次数约 3K~10K 次)
广泛用于手机、车机、IoT 设备
不支持高并发
🚗 在汽车中用途:
存储 操作系统(如 Linux/Android)
存放 应用程序、地图、日志
分区示例:/boot、/system、/recovery 等
💡 你可以把它理解为 “焊在主板上的 SD 卡”,但性能和可靠性更高。
二、NOR Flash 是什么?
🔍 本质:
一种 非易失性存储器(掉电不丢数据),属于 Flash 闪存的一种。
与 NAND Flash(eMMC 的基础)是“兄弟”,但特性完全不同。
✅ 核心特点:
特性
NOR Flash
NAND Flash(eMMC 基础)
读取方式
支持 随机读取(像内存一样)
必须按页/块读取
执行代码
✅ 可直接在芯片上运行程序(XIP, eXecute In Place)
❌ 必须先加载到 RAM
写入/擦除速度
慢
快
存储密度
低(容量小,通常几 MB ~ 几百 MB)
高(可达 TB 级)
成本
高
低
典型用途
启动代码(Bootloader)、固件
操作系统、用户数据
🚗 在汽车中用途:
存储 MCU(微控制器)的启动程序(Bootloader)
保存 关键固件:如 BCM(车身控制模块)、ECU(发动机控制)、FBL(Flash Bootloader)
因为 可直接执行代码,车辆上电后 CPU 能立刻从 NOR Flash 启动。
💡 你可以把 NOR Flash 想象成 “能直接运行程序的 ROM”,而 eMMC 更像 “需要加载到内存才能用的硬盘”。
三、“烧录”是什么意思?
📌 定义:
烧录(Burning / Flashing) 是指 将程序或数据写入到非易失性存储器(如 Flash、eMMC、EEPROM)中的过程。
🔧 为什么叫“烧录”?
早期 PROM(可编程只读存储器)是通过 熔断内部保险丝 来写入数据,物理上“烧”了一次就不可逆。
虽然现代 Flash 是电擦写,但“烧录”这个术语沿用至今。
🔄 烧录 vs 普通写文件
普通写文件(如写 TXT)
烧录固件
写到文件系统(如 ext4/FAT)
直接写到裸存储设备(无文件系统)
可随时修改、删除
通常需先 擦除整个块 才能写
由操作系统管理
常由 Bootloader 或专用工具完成
安全性低
需校验(CRC/SHA)、防掉电
🛠️ 烧录的典型场景:
出厂预装:工厂将操作系统烧录到车机 eMMC。
OTA 升级:用户通过网络下载新固件,系统将其烧录到备用分区。
维修刷机:售后用诊断仪将新固件烧录到 ECU 的 NOR Flash。
⚠️ 烧录的风险:
掉电 → 存储器处于中间状态 → 设备变“砖”
固件错误 → 系统无法启动
写错地址 → 覆盖 bootloader → 无法恢复
✅ 因此,可靠的烧录必须包含:校验、回滚、原子更新、电源保护。
四、结合你的代码理解
你的代码
对应硬件
烧录方式
acore_updater.cpp
eMMC
A核直接调用驱动,将 sparse 镜像写入 eMMC 分区(如 /dev/mmcblk0p5)
mcore_updater.cpp
NOR Flash
A核通过 IPC 把固件分包传给 M核,M核自己将数据烧录到自己的 NOR Flash 中
A核(强大,跑 Linux)→ 管 大容量存储(eMMC)
M核(小巧,跑裸机)→ 管 关键固件(NOR Flash)
总结一句话:
eMMC = 嵌入式“硬盘”,存系统和应用;
NOR Flash = 嵌入式“启动ROM”,存 bootloader 和关键固件;
烧录 = 把程序安全、可靠地“刻”进这些芯片里,让设备能正常工作。
希望这能帮你彻底理解这些概念!如果还有疑问,欢迎继续提问 😊
乌拉圭世界杯名单