对于Nandflash 驱动还有一个重要的方面是Nandflash 的分区,这个分区表位于内核源码目录的arch/arm/plat-s3c/include/plat/partition.h 文件中。一下为一种分区方式,可根据需要自行对分区进行修改。
struct mtd_partition s3c_partition_info[] = {
{
.name = "Bootloader",
.offset = 0,
.size = (256*SZ_1K),
.mask_flags = MTD_CAP_NANDFLASH,
},
{
.name = "Kernel",
.offset = (256*SZ_1K),
.size = (4*SZ_1M) - (256*SZ_1K),
.mask_flags = MTD_CAP_NANDFLASH,
},
#if defined(CONFIG_SPLIT_ROOT_FILESYSTEM)
{
.name = "Rootfs",
.offset = (4*SZ_1M),
.size = (80*SZ_1M),
},
#endif
{
.name = "File System",
.offset = MTDPART_OFS_APPEND,
.size = MTDPART_SIZ_FULL,
}
};
这里我们划分第一个分区为256k的空间存放uboot; 第二个分区大小为3.75M存放kernel。而且通过配置system type->s3c mtd has 4 partitions可以选择划分两个文件系统分区或者一个文件系统分区;若选中则第三个文件系统分区为80M存放根文件系统,其余的为第四分区。这里一般不选中,即只有三个分区,最后一个分区存放文件系统。
====
http://hi.baidu.com/huicxu/blog/item/047d8b00c501af151c958367.html