使用的是W90P710BSP05262008_EVB.tar.gz开发包,板子上的NorfFlash芯片是SST39VF6401B (8M Byte)。
使用flash_eraseall 擦出后第一次写(包括copy)会报下面错误: 代码:root:/flash> echo haha >hehe
Node totlen on flash (0xffffffff) != totlen from node ref (0x0000000c)
这个错误是在linux-2.4.x/fs/jffs2/nodemgmt.c 中 534行打印的。
再次启动开发板后,启动时并没有打印任何出错信息。当再次进入/flash时: 代码:root:/flash> ls
Node header CRC failed at 003f8080. But it must have been OK earlier.
Node was: { ffff, ffff, ffffffff, ffffffff }
Node totlen on flash (0xffffffff) != totlen from node ref (0x000002a8)
jffs2_do_read_inode(): No data nodes found for ino #2
ls: ./inittab: Input/output error
这是我的分区情况: 代码:root:~> cat /proc/mtd
dev: size erasesize name
mtd0: 00400000 00004000 "image(4M)"
mtd1: 00400000 00004000 "apps 4M"
这是什么原因?jffs2文件系统的问题还是我的Norflash驱动(分区,芯片信息?)问题?探测Norflash时使用的是amd_flash方法,jedec和cfi都找不到芯片~ |