关于nand,mtd和yaffs2的配合使用问题的解决方法!
作者: 时间:2007-05-15 21:37 来源:www.edires.net
如果你作nand驱动,那么肯定会知道yaffs2文件系统了,由于yaffs2的更新没有mtd那么快,所以就出现了他们配合不好的问题,经常出现nand mount和umount的时候丢数据的问题,当你碰到这个问题的时候,不要慌张。你首先应该用jffs2去测试一下你的nand驱动是否正常,如果驱动是好的,但是还存在丢失数据的问题的话,那么你就碰到了yaffs2和mtd不匹配的想象了,总结了很多网友的经验,虽然不同的人解决问题的方法不一样,但是大部分都是由于nand写oobbuf的问题上,yaffs2要给mtd一个buf,你要查查看mtd有没有接受这个buf吧,还有就是最新的yaffs2和最新的mtd代码是不能匹配的,我测试过效果极差,需要手动去修改bug,另外最新的mtd当你选择none-ecc模式的时候是不处理oob数据的,你要在write_ecc函数里加上写oobbuf的语句才可以的。
总之当你碰到nand丢失数据的问题的时候,不要和我一样盲目的人为yaffs2代码有bug了,其实是他们配合的问题,更不要盲目的下载最新代码,这样你porting她们也要花很多时间,弄好了还不一定能解决问题啊!
如果你的问题实在不能解决可以mail我,或者去我的嵌入式开发网站搜索具体解决的办法。我和兄弟们会帮大家查看一下,再不行只能另请高人了:)