linux下Nand Flash的JFFS2文件系统的移植

[复制链接]
 楼主| 维尔逊 发表于 2008-2-19 16:55 | 显示全部楼层 |阅读模式
历经了2个月,K9F1208UOC在linux2.4.27上移植成功,这个过程让我历经苦难,从最初的底层硬件驱动到jffs2文件系统的移植,我几乎每天都在读程序、改程序,看的我都想吐,但是我**下来了,想把自己的心得给大家分享一下!其实在整个过程中最重要的有两点:1.底层硬件驱动,也就是nandflash的读写时序.2.NANDFLASH的擦除及读写,函数都在mtd/nand/nand.c里面,写操作这一部分花了我将近一个月的时间,遇到最大的一个问题就是校验,数据写进去了就是校验不对,明明是把buf里面的数据写进去了,然后再读出来与buf比较,这岂能有错,但就是过不去,后来分析可能是地址读错了,于是我把程序改了一下&nbsp;<br />this-&gtcmdfunc(mtd,nand_cmd_read0,col,page);&nbsp;<br />改为&nbsp;<br />if(col&lt256)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this-&gtcmdfunc(mtd,nand_cmd_read0,col,page);&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br />else&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this-&gtcmdfunc(mtd,nand_cmd_read1,col-256,page);&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br />结果OK!原来我的nand.c版本比较低,对于页为256B的支持比较好,我用的K9F1208UOC页为512+16B,校验的时候如果col的值大于256时用read0就会读错!&nbsp;<br />现在终于可以轻松一下了,哈哈!祝大家好运!希望我们大家没事的时候能够互相交流一下!&nbsp;<br />
 楼主| 维尔逊 发表于 2008-2-21 19:25 | 显示全部楼层

linux下Nand Flash的JFFS2文件系统的移植

对,ap9805411说的很对,YAFFS确实比JFFS2速度快的多.我用的内核是2.4.27,fs里没有YAFFS只有JFFS2,原来是想着把JFFS2搞定以后再弄YAFFS系统.<br />对于2楼阿南说的,我就不再详细写移植的过程了,在整个过程中最关键的就是NANDFLASH的时序,也就是CE、ALE、CLE、RD、WR的时序要配合好。nand.c我看过了逻辑上没错,只是有时候得根据你的硬件做小小的改动,比如我上面改的那部分。
 楼主| 维尔逊 发表于 2008-2-24 01:13 | 显示全部楼层

linux下Nand Flash的JFFS2文件系统的移植

呵呵,让我两周弄出来我还真没那水平,读ID用了2天,直到弄完拖拖拉拉两个月就过去了,在这上面确实下工夫了,对于一个刚毕业的大学生来说,能坐下来踏踏实实干好工作就行,我感觉这才是最关键的,不过我们老板确实不错没说过我,我也很努力.
阿南 发表于 2008-2-19 18:36 | 显示全部楼层

对,我们要多交流.楼主可否写个详细些的移植过程?以避免后

少走弯路
ap9805411 发表于 2008-2-21 11:54 | 显示全部楼层

NAND FLASH建议用YAFFS

JFFS2比较适合NOR&nbsp;FLASH
brandnew 发表于 2008-2-21 19:42 | 显示全部楼层

...

搞2个月,天煞的,老板那不急得吐血,估计要被炒掉N次了。<br /><br />我2周没搞定个问题,老板脸上的颜色都变了。
ap9805411 发表于 2008-2-22 09:59 | 显示全部楼层

我两天没搞定

老板就要骂街了.嘿嘿
zxzvivi 发表于 2008-4-15 09:38 | 显示全部楼层

wo jiu kankan

wo&nbsp;cai
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

7

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部