2440 linux内核移植-板级模板创建

来源:互联网 发布:excel vba 查询数据库 编辑:程序博客网 时间:2024/05/19 14:16

通过前面的UBOOT的移植,我们已经了解到移植的基本流程,在安装好交叉编译环境之后,建立linux的sourceinsight工程,方便修改,可以开始移植调试LINUX(版本2.6.32.2)内核了。

LINUX操作系统的伟大之处这里就不再废话了。内核移植最让人头痛的往往是寻找相关设备驱动。由于不同的板子上所配置的硬件都有区别,如何精确的加载所需要的驱动模块且去掉不需要的部分是个劳神费力的事情。LINUX内核对不同的架构支持的思想方法基本上和UBOOT是一样的。比如说用一个配置机制来管理不同架构的内核生成;不同的架构都有对应特性的启动文件;都会提供一定的设备驱动开发规范来驱动各类设备。所以不用担心内核配置不好,只要掌握好相关的移植规范,没有什么设备是不能被支持,LINUX的移植也可以像UBOOT那样自己从头创建一个对应自己板子硬件配置的板级支持包。

进入\arch\arm\mach-s3c2440目录复制mach-smdk2440.c并改名为mach-fz2440.c  将c文件中的smdk2440全部换为fz440,在163行将19634400晶振频率修改为12000000,注释掉173行//smdk_machine_init();

进入arch\arm\mach-s3c2440在Makefile最后添加obj-$(CONFIG_MACH_FZ2440) += mach-fz2440.o使添加代码被编译。

进入arch\arm\configs复制mini2440_defconfig并重命名为fz2440_defconfig将CONFIG_MACH_MINI2440=y修改为CONFIG_MACH_FZ2440=y(245行)

在arch\arm\mach-s3c2440目录下Kconfig中添加如下代码:

config MACH_FZ2440
bool "FZ2440 development board"
select CPU_S3C2440
select EEPROM_AT24
select LEDS_TRIGGER_BACKLIGHT
select SND_S3C24XX_SOC_S3C24XX_UDA134X
select S3C_DEV_NAND
select S3C_DEV_USB_HOST
help
 Say Y here to select support for the MINI2440. Is a 10cm x 10cm board
 available via various sources. It can come with a 3.5" or 7" touch LCD.

在arch\arm\Tools\下mach-types最后添加fz2440    MACH_FZ2440FZ2440 168

至此板级模板创建基本结束.

make clean                                清除编译文件

make fz2440_defconfig             载入fz2440默认配置

make zImage                            编译内核生成zImage,需要10分钟左右




原创粉丝点击