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 和关键固件;

烧录 = 把程序安全、可靠地“刻”进这些芯片里,让设备能正常工作。

希望这能帮你彻底理解这些概念!如果还有疑问,欢迎继续提问 😊

乌拉圭世界杯名单