原文地址:https://blog.csdn.net/xin289379297/article/details/40923655
这个问题搞了我三天,尝试了网上的所有办法,均不奏效,只是偶尔能mount上jffs2系统;
Old JFFS2 bitmask found at 0x02476c3c
You cannot use older JFFS2 filesystems with newer kernels
jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x02480000: 0x19f7 instead
遇到该问题,可能的情况有以下几种:
1、编译jffs2文件系统时eraseblock size设置的问题,调节就好,我是8K,16k,64k,128,256,512,都尝试了的,最后根据brcm官方文档改为128;
2、flash有问题;
3、flash在烧写之前,并未擦除干净flash上的数据,导致脏内存出现
我就是第三点,因为烧写的时候cfe会默认擦除,结果后来一跟踪代码,发现并未擦除,后来自己增加了一个擦除的命令,问题解决。
后来 遇到flash不能写的问题,是由于cfi的驱动需要打补丁,到相应官网下载补丁即可。
4、Erase at 0x02940000 failed immediately: -EROFS. Is the sector locked?
这个错误,是由于flash分区代码里的 mask_flags,将 mask_flags=MTD_WRITEABLE屏蔽掉就可以了