完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
假如使用的UBI文件系统, 那错误bit的检测和数据搬移一般是在UBI层处理. 但是UBI是kernel的一部分吧? 我的理解是需要把kernel加载完UBI里面的机制才能生效. 那如何保证uboot和kernel部分的数据完整性呢? 上电完成后再读一遍uboot 和kernel来检测数据翻转bit, 看是否达到了数据搬移的标准? |
|
相关推荐
1个回答
|
|
在从SLC NAND加载uboot和kernel时,确实可以进行错误bit的检测和数据搬移。这通常通过NAND Flash的ECC(错误校正码)功能来实现。ECC可以检测并纠正一定数量的错误bit,从而确保数据的完整性。
关于您提到的UBI文件系统,它确实是内核的一部分,用于管理NAND Flash上的存储空间。在加载kernel之前,uboot需要确保kernel的完整性。以下是一些可能的方法: 1. 使用ECC:如前所述,NAND Flash通常具有内置的ECC功能,可以在读取数据时检测并纠正错误bit。 2. 读取验证:在加载uboot和kernel之前,可以设计uboot在上电后再次读取NAND Flash上的数据,进行完整性检查。如果检测到错误,可以尝试从其他块或页面读取数据,或者使用数据搬移技术将错误数据移动到好的块或页面上。 3. 校验和或签名:在烧录uboot和kernel时,可以计算它们的校验和或签名,并将其存储在NAND Flash的某个位置。在加载uboot和kernel之前,uboot可以读取这些值并与实际加载的数据进行比较,以确保数据的完整性。 4. 使用外部存储器:如果NAND Flash的可靠性不足以满足需求,可以考虑使用外部存储器(如Nor Flash或外部NAND Flash)来存储uboot和kernel。这些存储器通常具有更高的可靠性和更低的错误率。 5. 使用冗余技术:在设计uboot和kernel时,可以考虑使用冗余技术,如镜像或奇偶校验,以提高数据的可靠性。 总之,在加载uboot和kernel时,可以通过多种方法确保数据的完整性。这些方法可以单独使用,也可以组合使用,以提高系统的可靠性和容错能力。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
378 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-mfgtools烧录流程介绍之烧写所需镜像
511 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-mfgtools烧录流程之烧写方法
542 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-内核编译之初次编译
773 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-内核源代码的目录结构和文件说明
694 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 14:01 , Processed in 0.591382 second(s), Total 73, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号