打印

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

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

相关帖子

来自 2楼
维尔逊|  楼主 | 2008-2-21 19:25 | 只看该作者

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

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

使用特权

评论回复
来自 3楼
维尔逊|  楼主 | 2008-2-24 01:13 | 只看该作者

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

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

使用特权

评论回复
地板
阿南| | 2008-2-19 18:36 | 只看该作者

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

少走弯路

使用特权

评论回复
5
ap9805411| | 2008-2-21 11:54 | 只看该作者

NAND FLASH建议用YAFFS

JFFS2比较适合NOR FLASH

使用特权

评论回复
6
brandnew| | 2008-2-21 19:42 | 只看该作者

...

搞2个月,天煞的,老板那不急得吐血,估计要被炒掉N次了。

我2周没搞定个问题,老板脸上的颜色都变了。

使用特权

评论回复
7
ap9805411| | 2008-2-22 09:59 | 只看该作者

我两天没搞定

老板就要骂街了.嘿嘿

使用特权

评论回复
8
zxzvivi| | 2008-4-15 09:38 | 只看该作者

wo jiu kankan

wo cai

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

7

帖子

0

粉丝