2.6的内核自带了NandFlash驱动,移植起来就非常方便
在arch/arm/mach-s3c2410/devs.c中添加
#include <linux/mtd/partitions.h>
#include <asm/arch/nand.h>
#include <linux/mtd/nand.h>
static struct mtd_partition nand_partitions[] = {
[0] = {
.name = "nanduser",
.size = SZ_64M,
.offset = 0,
}, //把64M全都作为一个分区,我的内核都是烧在NorFlash中的
};
struct s3c2410_nand_set nand_set = {
.nr_partitions = 1,
.partitions = nand_partitions,
};
struct s3c2410_platform_nand platform_nand = {
.tacls = 0,
.twrph0 = 30,
.twrph1 = 0,
.sets = &nand_set,
.nr_sets = 1,
};
修改一下下面这个结构体
struct platform_dev

本文档介绍了如何在Linux 2.6内核上移植NandFlash驱动和YAFFS文件系统。首先,通过修改`arch/arm/mach-s3c2410/devs.c`中的结构体来添加NandFlash驱动,然后在`mach-smdk2410.c`中注册设备。在驱动中禁用了ECC以解决错误。接着,下载并集成YAFFS2到内核源码树,修改`fs/Makefile`和`Kconfig`文件进行配置。最后,编译内核并挂载YAFFS2文件系统。虽然出现警告,但通过注释掉nand_base.c中的警告打印语句可解决问题。
最低0.47元/天 解锁文章
1198

被折叠的 条评论
为什么被折叠?



