1. NAND/NOR Flash基础与测试准备
刚接触嵌入式存储时,我也曾被NAND和NOR Flash的区别绕晕。简单来说,NOR像教科书——能随机翻到任意章节(随机读取快),但更新内容要整页重写(擦除慢);NAND像记事本——只能按顺序写(串行访问),但批量更新效率高(块擦除快)。在Linux下测试这两种Flash,首先要做好三件事:
1.1 硬件识别与分区确认
插上开发板后,先通过cat /proc/mtd查看分区信息。这是我某次调试的记录:
# 典型输出示例
dev: size erasesize name
mtd0: 00080000 00020000 "bootloader"
mtd1: 00400000 00040000 "kernel"
mtd2: 0fb00000 00040000 "rootfs"
关键参数解读:
- erasesize:擦除块大小(NOR通常64KB-256KB,NAND多为128KB-2MB)
- size:分区总大小(注意十六进制换算)
警告:操作前务必备份!误擦关键分区会导致系统无法启动。我曾因忘记备份bootloader,不得不重新烧写整个系统。
1.2 内核模块准备
主流Linux内核已内置MTD测试模块,但需要手动启用:
make menuconfig
按以下路径勾选:
Device Drivers →
Memory Technology Device (MTD) support →
[*] MTD tests support (标记为M则编译为模块)


594

被折叠的 条评论
为什么被折叠?



