AM335x系列UBIFS报错分析及解决方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AM335x系列UBIFS报错分析及解决方法相关的知识,希望对你有一定的参考价值。

有许多工程师在使 TI的AM335x系列CPU时会出现UBIFS错误的问题,TI官方也没有给出太好的解决方案。飞凌嵌入式就以上问题进行了深入研究。
在长期稳定性的测试中发现,NandFlash总是有可能会发生读写错误,导致分区变化为只读分区。由于在实际应用中,NandFlash分区存储的为历史数据信息,所以希望在NandFlash读写错误后不修改为只读状态,理解是UBIFS本身的机制导致它会出现这种错误。

  1. 根文件系统是UBIFS,可写读的;

2.在运行Linux系统时,系统的一些服务,如日志等,可能会频繁的读写存储器。UBIFS对掉电的容忍性是比较差的,在异常掉电或重启后,下次重启后可能导致到UBIFS文件系统记录节点CRC和实际计算的不一致,导致根文件系统挂载不了,启动过程报错。

所以有了以下直观认识:

1.UBIFS挂载速度快,存储器寿命高。

2.UBIFS对异常掉电的容忍性差,容易出现CRC错误。

解决方法:

1、通过修改内核分区表,新建一个用户分区,这样将数据存储区和根文件系统分开存储,用户操作的一些数据和日志只在用户分区执行,当有分区数据损坏时不会影响系统的挂载。具体方法参考《飞凌公司文件系统新建分区方法》。

2、如果坚持保留根文件系统分区为可读写,则每次通过linux命令执行关机操作,尽量避免直接切断电源。

3、更新飞凌AM335X系列最新的Yaffs文件系统。具体资料见飞凌技术论坛OK335系列资料下载。

飞凌已经经过验证,以上方法皆能降低该问题发生的几率,但是不能从根本上解决该问题,这是由NandFlash本身的特性所决定了。

以上是关于AM335x系列UBIFS报错分析及解决方法的主要内容,如果未能解决你的问题,请参考以下文章

资料更新丨AM335x系列产品用户资料

干货分享丨AM335x平台如何通过udev固定4G模块串口号的解决方法

基于AM335X的物联网关解决方案

「技术干货」工业触摸屏之驱动开发及异常分析(连载)

am335x的启动分析

AM335X有关MMC的启动参数问题分析