本节中实现nand write.yaffs2
之前版本的uboot是支持write.yaffs2
的,但是此版本中已经找不到nand的这个命令了。
nand write
和nand write.yaffs2
之间的差别是,nand write
在写完一页数据之后计算出OOB的数据然后写入,但是在write.yaffs2
中,本身自带OOB数据,只需写入即可。
对照之前版本的uboot源码,做如下修改
1. 修改cmd/nand.c
修改do_nand
函数
#ifdef CONFIG_CMD_NAND_TRIMFFS
} else if (!strcmp(s, ".trimffs")) {
if (read) {
printf("Unknown nand command suffix '%s'\n", s);
return 1;
}
ret = nand_write_skip_bad(mtd, off, &rwsize, NULL,
maxsize, (u_char *)addr,
WITH_DROP_FFS | WITH_WR_VERIFY);
#endif
#ifdef CONFIG_CMD_NAND_YAFFS
} else if (!strcmp(s, ".yaffs2")) {
if (read) {
printf("Unknown nand command suffix ‘%s‘.\n", s);
return 1;
}
ret = nand_w