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

原创 2018-05-31 09:30:00 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本身的特性所决定了。

                               

相关产品 >

  • OK335xD开发板

    飞凌AM335x开发板已经推出几年,经过行业检测,稳定性得到肯定。多年行业积累,AM335x的解决方案涉及各行各业,欢迎进店咨询。飞凌AM335x开发板基于TI Cortex-A8 AM335x CPU设计开发,主频800MHz,支持Linux、RTLinux、Wince、安卓系统。AM335x开发板工业级宽温,配合丰富的外设接口,适用于各种恶劣环境应用。 了解详情
    OK335xD开发板
  • OK335xS开发板

    AM335X系列包括AM3352处理器、AM3354、AM3356、AM3357、AM3358、AM3359,都可工作在800Mhz的速度。同时支持4个操作系统 Linux,Android,WinCE、RTLinux实时操作系统,,在图像、图形处理、外设和诸如 EtherCAT 和 PROFIBUS 的工业接口选项方面进行了增强。飞凌OK335xS开发板基于AM335x处理器开发,主频800MHz,邮票孔封装,体积小。根据AM335x的性能及功能,飞凌推荐了非常多的解决方案分享。

    保定飞凌嵌入式专注AM335x,am335x 开发板,TI AM335x 等ARM嵌入式核心控制系统研发、设计和生产,是AM335x,335x开发板,TI AM335x 提供者, AM335x 系列产品现已畅销全国,欢迎咨询!

    了解详情
    OK335xS开发板

推荐阅读 换一批 换一批