AM335x系列UBIFS报错分析及解决方法
在长期稳定性的测试中发现,NandFlash总是有可能会发生读写错误,导致分区变化为只读分区。由于在实际应用中,NandFlash分区存储的为历史数据信息,所以希望在NandFlash读写错误后不修改为只读状态,理解是UBIFS本身的机制导致它会出现这种错误。
1. 根文件系统是UBIFS,可写读的;
2.在运行Linux系统时,系统的一些服务,如日志等,可能会频繁的读写存储器。UBIFS对掉电的容忍性是比较差的,在异常掉电或重启后,下次重启后可能导致到UBIFS文件系统记录节点CRC和实际计算的不一致,导致根文件系统挂载不了,启动过程报错。
所以有了以下直观认识:
1.UBIFS挂载速度快,存储器寿命高。
2.UBIFS对异常掉电的容忍性差,容易出现CRC错误。
解决方法:
1、通过修改内核分区表,新建一个用户分区,这样将数据存储区和根文件系统分开存储,用户操作的一些数据和日志只在用户分区执行,当有分区数据损坏时不会影响系统的挂载。具体方法参考《飞凌公司文件系统新建分区方法》。
2、如果坚持保留根文件系统分区为可读写,则每次通过linux命令执行关机操作,尽量避免直接切断电源。
3、更新飞凌AM335X系列最新的Yaffs文件系统。具体资料见飞凌技术论坛OK335系列资料下载。
飞凌已经经过验证,以上方法皆能降低该问题发生的几率,但是不能从根本上解决该问题,这是由NandFlash本身的特性所决定了。
相关产品 >
-
OK335xD开发板
飞凌AM335x开发板已经推出几年,经过行业检测,稳定性得到肯定。多年行业积累,AM335x的解决方案涉及各行各业,欢迎进店咨询。飞凌AM335x开发板基于TI Cortex-A8 AM335x CPU设计开发,主频800MHz,支持Linux、RTLinux。AM335x开发板工业级宽温,配合丰富的外设接口,适用于各种恶劣环境应用。 了解详情 -
OK335xS开发板
AM335X系列包括AM3352处理器、AM3354、AM3356、AM3357、AM3358、AM3359,都可工作在800Mhz的速度。同时支持4个操作系统 Linux、RTLinux实时操作系统,,在图像、图形处理、外设和诸如 EtherCAT 和 PROFIBUS 的工业接口选项方面进行了增强。飞凌OK335xS开发板基于AM335x处理器开发,主频800MHz,邮票孔封装,体积小。根据AM335x的性能及功能,飞凌推荐了非常多的解决方案分享。
保定飞凌嵌入式专注AM335x,am335x 开发板,TI AM335x 等ARM嵌入式核心控制系统研发、设计和生产,是AM335x,335x开发板,TI AM335x 提供者, AM335x 系列产品现已畅销全国,欢迎咨询!
了解详情