nand flash读取数据不稳定

2019-07-20 08:21发布

我移植了uclinux到stm32f767igt这款芯片上,现在想挂载jffs2文件系统,发现烧些进去之后,系统会报错如下:
jffs2_scan_inode_node(): CRC failed on node at 0x00001820: Read 0x63eafafe, calculated 0x0e95bd14
jffs2_scan_inode_node(): CRC failed on node at 0x00001ddc: Read 0x68aa586a, calculated 0x4e76a2df
jffs2_scan_eraseblock(): Node at 0x00002918 {0x1985, 0xe002, 0x000006b7) has invalid CRC 0x08a93eef (calculated 0x08a93ee6)
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000291c: 0x06b7 instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00002920: 0x3eef instead
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00002924: 0x0010 instead
...

但是如果我制作的文件系统比较小,比如只创建一个目录,然后里面有一个文件a.txt;这时候挂载可能正常。
但是,一般根文件系统都会有比较多的文件,这时候nand读取的数据就会有一些数据出现错误;
但是我尝试把nand 的mtd分区,写全0或者0x11或者0x22。。。读取回来的数据也正常。
如果烧些进去很多文件,我发现读取的数据在uclinux下一些就会不一致错误。
我想请问下什么情况下,可能会导致这种类型的情况发生呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。