日期:2014-05-16  浏览次数:20624 次

idea6410 linux3.6.6的yaffs移植

其实移植yaffs还是比较简单,代码编译还是挺顺利的,但是我碰到了第一次烧写不能启动,的重新烧写内核才行,刚开始移植认为是Ecc校验有问题,查了好久,今天来了灵感,在烧写是突然想到内核是多大,超过了2M,唉,这个问题纠结了好久啊~终于解决了~

 

第一步,我们需要YAFFS2的源码,如果大家有兴趣想了解YAFFS2文件系统的驱动原理的话可以直接去访问他们的官网,地址是www.yaffs.net

下载是有两种方法:一种用git,还有一种直接下载~不过直接下载可能打不开

 

第二步,将下载下来的YAFFS2最新源码 YAFFS2.tar.gz 放入你Linux的任意一个目录下,执行 tar zxvf YAFFS2.tar.gz 然后进入YAFFS2源码包,由于最新的源码再执行脚本 patch-ker.sh(具体方法见此目录下README-linux-patch) 时 有四个参数,可以追加:c,l,m,s,
./patch-ker.sh  c/l m/s kernelpath
if c/l is c, then copy. If l then link
if m/s is m, then use multi version code. If s then use single version code
上面这段英文应该很好懂吧,简而言之,C 是复制文件,L是链接文件,M是多种,S是单个的
xiao@urbetter-ubuntu:~/linux-3.6.6$ ./patch-ker.sh c m ../linux-3.6.6    即可!
 
第三步:配置(make menuconfig)
 Device Drivers  --->
 <*> Memory Technology Device (MTD) support  --->
                     <*>   Direct char device access to MTD devices                                              | | 
  | |                     -*-   Common interface to block layer for MTD 'translation layers'                          | | 
  | |                     <*>   Caching block device access to MTD devices 
 File systems  --->
[*] Miscellaneous filesystems  --->
<*>   yaffs2 file system support                                                            | | 
  | |                     -*-     512 byte / page devices                                                             | | 
  | |                     [ ]       Use older-style on-NAND data format with pageStatus byte                          | | 
  | |                     [ ]         Lets yaffs do its own ECC                                        &nbs