linux-2.6.32.2内核在mini2440上的移植,linux2.6.32在mini2440上的移植

1. 参考SMDK2440加入自己的开发版平台MINI2440

2. 修改时钟源频率12000000(晶振)

3. 移植NAND FLASH驱动

Linux2.6.32已经自带了大部分NAND驱动

但是系统默认的分区不是我们所需的,所以要自已修改,除此之外,还有 Nand Flash

的结构信息(bootload, parm,kernel, root文件系统的offset 和size)需要增加填写,以便能够适合系统自带的Nand Flash 驱动接口

static struct mtd_partition friendly_arm_default_nand_part[] = {

[0] = {

.name = "supervivi",

.size = 0x00040000,

.offset = 0,

},

[1] = {

.name = "param",

.offset = 0x00040000,

.size = 0x00020000,

},

[2] = {

.name = "Kernel",

.offset = 0x00060000,

.size = 0x00500000,

},

[3] = {

.name = "root",

.offset = 0x00560000,

.size = 1024 * 1024 * 1024, //

},

[4] = {

.name = "nand",

.offset = 0x00000000,

.size = 1024 * 1024 * 1024, //

}

};

Bootload /dev/mtdblock0

Parameter /dev/mtdblock1

;这里是开发板的nand flash 设置表,因为板子上只有一片,因此也就只有一个表

static struct s3c2410_nand_set mini2440_nand_sets[] = {

[0] = {

.name = "NAND",

.nr_chips = 1,

.nr_partitions = ARRAY_SIZE(mini2440_default_nand_part),

.partitions = mini2440_default_nand_part,

},

};

;这里是nand flash 本身的一些特性,一般需要对照datasheet 填写,大部分情况下按照以下参数填写即可

NFCONF 0x4E000000 R/W NAND flash configuration register 0x0000100X

TACLS:表示CLT/ALE的建立时间(setup time)。

TWRPH0:表示nWE/nRE持续的时间。

TWRPH1:表示写进去的数据起作用的时间(hold time)。

static struct s3c2410_platform_nand mini2440_nand_info = {

.tacls = 20, // 配置时序图HCLK周期

.twrph0 = 60,

.twrph1 = 20,

.nr_sets = ARRAY_SIZE(mini2440_nand_sets),

.sets = mini2440_nand_sets,

.ignore_unset_ecc = 1,

};

添加到平台设备中,注册为平台设备驱动。

对NAND flash驱动的移植可以参考

可以参考:

http://blog.csdn.net/it_114/article/details/6259649

3.移植yaffs2,使用git工具下载并为内核打上yaffs2补丁。配置内核配置选项,添加yaffs2的支持。烧些到开发版并测试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值