打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
NAND FLASH中ECC的原理与错误

向NAND Flash写数据时,每256或512字节会生成一个校验码写在每个page的OOB区,当从NAND Flash读数据时,每读取256或512字节数据,也会生成一个ECC校验码,拿这个校验码与存放在OOB区的校验吗对比看看是否一致,就可以知道读取的数据是否正确.

一般来说,kernel与cramfs是通过U-BOOT烧写到NAND Flash中,这个过程是向NAND Flash写数据,会产生ECC码,使用的是U-BOOT的ECC机制产生的(不管是硬件产生还是软件产生),然后这些ECC码会存放在NAND Flash的OOB区域。

当你启动Kernel时,会从NAND Flash中读数据,这是时候也会产生ECC码。使用的还是U-BOOT的ECC机制产生的,因为这个读NAND操作是还是处在U-Boot运行状态下。然后这个ECC码与写Kernel时产生的ECC码(保存在OOB区域)做比较,看是否有错误。由于写Kernel与读Kernel都用的是U-BOOT的ECC产生机制,所以一般不会出错。

但你读Cramfs时,这个时候已经是内核状态啦。所以读Cramfs时用的Kernel的ECC产生机制,前面写Cramfs用的U-Boot机制,如果两种机制不一致(包括一个是硬件产生,一个是软件产生,或是软件产生算法不一样,或是OOB区域规划不一样),就会产生错误。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
在U-Boot中实现对Yaffs镜像的支持
2410 Nand flash启动Linux并挂载cramfs作为根文件系统, 报告一处BUG
如何逆向嵌入式设备的NAND Flash
联发科MT7621AT TSOP48 132M nand FLASH 救砖烧录技巧,如AX1800,...
u-boot-2012-07 for tiny210, 支持USB DNW, 支持YAFFS2烧写, 彻底抛弃superboot
Yaffs文件系统结构及应用
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服