今天,参考《Mini2440_Linux移植开发实战指南.pdf》和《【申嵌培训】Mini2440 Linux移植开发实战指南-内核部分2010-9-9.pdf》,对公司购买的友善之臂的mini2440进行了linux2.6.32.2的系统移植。下面是移植的全程记录:
开发环境:
虚拟机:VMware Player 4.0.1 build-528992
主机:Red Hat Enterprise Linux 5-2
交叉编译链:arm-linux-gcc 4.3.2
开发板信息:
名称:mini2440
CPU:S3C2440AL-40
内存:K4S561632N-LC60 * 2
Nor Flash:S29AL016J70TF102
Nand Flash:K9F2G08U0B
网卡:DM9000EP
目录:
4,屏蔽掉原先的mini2440_machine_init(void)函数 6
2,添加static struct mtd_partition mini2440_default_nand_part[] 8
3,添加static struct s3c2410_nand_set mini2440_nand_sets[] 10
4,添加static struct s3c2410_platform_nand mini2440_nand_info 11
5,mini2440_devices[]中添加平台设备。 11
6,修改mini2440_machine_init函数 11
2,添加MACH_MINI2440_DM9K_BASE宏定义。 16
3,添加static struct resource mini2440_dm9k_resource[] 16
4,添加static struct dm9000_plat_data mini2440_dm9k_pdata 16
5,添加static struct platform_device mini2440_device_eth 17
6,mini2440_devices[]中添加平台设备。 18
1,static struct platform_device *mini2440_devices[]中添加平台设备: 20
1,添加mini2440_backlight.c文件。 22
3,在Makefile中,根据配置定义加入驱动目标文件。 25
3,修改mini2440_machine_init函数。 31
5,修改drivers/video/s3c2410_fb.c文件。(为什么修改?有待探讨!!!!!!!) 33
2,添加static struct s3c24xx_mci_pdata mini2440_mmc_cfg结构体。 65
4,mini2440_machine_init(void)函数中,调用platform_add_devices函数前,添加: 66
5,修改drivers/mmc/host/s3cmci.c文件。 66
2,添加static struct s3c24xx_uda134x_platform_data s3c24xx_uda134x_data结构体。 67
3,添加static struct platform_device s3c24xx_uda134x结构体。 67
1,修改arch/arm/mach-s3c2440/mach-mini2440.c。 70
2,修改drivers/serial/samsung.c文件。 71
1,drivers/char下增加文件:mini2440_leds.c 75
3,修改drivers/char/Makefile文件 78
1,drivers/char/添加mini2440_buttons.c文件 80
1,drivers/char/添加mini2440_pwm.c 87
由于篇幅太多,请查看资源“移植linux-2.6.32.2到mini2440开发板(实录).doc”