各位大神好!
我最近在做一个新唐 N32926 芯片相关的项目,在项目过程中,移植了 linux 内核和根文件系统。刚开始用的是 ext4 文件系统。在移植 Qt 之后,做了一个 hello world 的 Qt 程序测试一下,发现运行的速度相当慢,完全无法忍受。后来问一个大神,大神听说我用的 ext4 ,差点就给我跪了。
后来我就转换移植了一类根文件系统比较了一番,发现 ubi 文件系统时运行速度最快的,而且占用内存也少,就想着用 UBI 文件系统吧。
但是在移植完 UBI 文件系统之后,重启发现报告如下错误:
UBI error: ubi_io_read: error -74 while reading 126976 bytes from PEB 3:4096, read 126976 bytes
以下信息是我在 yaffs2 文件系统上挂载的一个 ubifs 文件系统,挂载 3 次报告的信息:
第一次:
第二次:
第三次:
然后查吧,在 http://www.linux-mtd.infradead.org/faq/ubi.html#L_ecc_error 网站上说是 ECC 的错误。
根据上面的详细说明有很多原因都可能导致该错误。首先制作镜像有问题。
以下是我制作的步骤:(这个步骤我在其他的开发板上实践过,所以应该是没有问题的。)
而后是 sub_page 问题,由于我的 nand_flash 不支持子页,所以 -s 设置的是 2048 ,应该也不存在问题。
而后是驱动,由于是官方提供的驱动,所以是直接拿来用的,这个我就搞不清楚了
还有就是硬件问题,因为我只有一块开发板,所以我目前也没怎么弄,想来,我其他的文件系统都加载成功了,就 UBI 文件系统出现 BUG ,应该硬件问题关系不大。
但是,到目前仍然出现 UBIFS 第一次加载成功,重启后加载都会出现 BUG 的问题。请问各位大神碰到过类似的情况吗?或者知道这是什么原因?
感谢您的耐心看完该篇,期待您提供的解答方略!
参考新唐nuvoton nuc972bsp手册中的ubifs制作教程
试试make.ubifs 加-F
ubinize加-O 2048
我也是第二次启动就ecc错误-74 加完解决 有没有大神解释一下原理。。
老哥问题解决了吗,我也遇到同样的问题,各种尝试都没有用。
就只有把文件系统换成只读的是可以的。但是只有有一个分区下的文件系统是可读可写的,都会出现第二次启动报这个错误。