分类: LINUX
2011-11-30 13:45:45
1、拷贝目录文件:sys/dev/nand/yaf-nand
2、修改conf/files,增加一行:file sys/dev/nand/yaf-nand/nand_util.c nand
3、替换pmon/fs/mtd.c这个文件
4、替换pmon/cmds/mycmd.c这个文件
5、增加include/linux/mtd/compat.h这个头文件
二、修改说明:
由于nandflash会有坏块的出现,所以当遇到坏块的时候,要跳过,直到不是坏块为止,对应于前面的1、2、3点。
而yaffs2的文件系统镜像跟其他的文件系统镜像的不同在于,它每2KB的数据之后会跟着64B的oob区数据。而devcp这个命令默认每次只会读2KB的数据就写入nandflash,这就导致了64B的oob区数据也被当成了正常数据被烧到main区。解决方法是,每次读2KB+64B的数据出来,把2KB的数据写入到相应的main区,多出64B的oob数据也要写到nandflash相应的oob区,对应于前面的第4点。
三、使用命令:devcp tftp://192.168.1.xx/yaffs2.img /dev/mtd1 yaf nw,具体使用请参考广州龙芯用户手册。