mini6410移植全攻略(9)--linux2.6.39 移植之搭建框架(上)

本文由muge0913编写,希望给嵌入开发者带来一些帮助,并希望能和大家交流技术,若有不对的地方,或有更好的方法请指出。

转载请注明出处:http://blog.csdn.net/muge0913/article/details/7240201

一、解压内核并修改Makefile

1)解压源码

#tar zxvf linux-2.6.39.tar.gz

2)指定交叉编译器

进入linux源码主目录

#ls linux-2.6.39

用vi打开Makefile,定位到196行,修改如下:

#vi Makefile #Default value for CROSS_COMPILE is not to prefix executables # Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile export KBUILD_BUILDHOST := $(SUBARCH) ARCH ?= arm CROSS_COMPILE ?= arm-linux- # Architecture as present in compile.h UTS_MACHINE := $(ARCH) SRCARCH := $(ARCH)

二、创建目标平台

从smdk6410到th6410

#cd arch/arm/mach-s3c64xx #cp mach-smdk6410.c mach-th6410.c

mach-qt6410.c文件中的所有smdk6410改成th6410

#vi mach-th6410.c

修改mach-s3c64xx目录下的Makefile和Kconfig修改如下:

Kconfig:添加如下代码


config MACH_TH6410 bool "TH6410" select CPU_S3C6410 select SAMSUNG_DEV_ADC select S3C_DEV_HSMMC select S3C_DEV_HSMMC1 select S3C_DEV_I2C1 select SAMSUNG_DEV_IDE select S3C_DEV_FB select S3C_DEV_RTC select SAMSUNG_DEV_TS select S3C_DEV_USB_HOST select S3C_DEV_USB_HSOTG select S3C_DEV_WDT select SAMSUNG_DEV_KEYPAD select SAMSUNG_DEV_PWM select HAVE_S3C2410_WATCHDOG if WATCHDOG select S3C64XX_SETUP_SDHCI select S3C64XX_SETUP_I2C1 select S3C64XX_SETUP_IDE select S3C64XX_SETUP_FB_24BPP select S3C64XX_SETUP_KEYPAD help Machine support for the Samsung TH6410

Makefile:添加如下代码

obj-$(CONFIG_MACH_ANW6410) += mach-anw6410.o obj-$(CONFIG_MACH_SMDK6400) += mach-smdk6400.o obj-$(CONFIG_MACH_SMDK6410) += mach-smdk6410.o //muge0913 add code here obj-$(CONFIG_MACH_TH6410) +=mach-th6410.o obj-$(CONFIG_MACH_REAL6410) += mach-real6410.o obj-$(CONFIG_MACH_MINI6410) += mach-mini6410.o obj-$(CONFIG_MACH_NCP) += mach-ncp.o obj-$(CONFIG_MACH_HMT) += mach-hmt.o obj-$(CONFIG_MACH_SMARTQ) += mach-smartq.o obj-$(CONFIG_MACH_SMARTQ5) += mach-smartq5.o obj-$(CONFIG_MACH_SMARTQ7) += mach-smartq7.o


三、设置机器码

打开arch/arm/tools/mach-types,修改如下

th6410 MACH_TH6410 TH6410 2520

上面的机器码必须和uboot中的设置匹配,如:

进入arch/arm/mach-s3c64xx/mach-th6410.c修改如下:

MACHINE_START(S3C6410, "SMDK6410") , 将其修改为

MACHINE_START(TH6410,"TH6410-muge0913")


四、配置、编译测试

#cp arch/arm/configs/s3c6400_defconfig .config #make menuconfig

出现下图所示内核配置根菜单


进入System Type配置如下:


最后编译内核并下载到mini6410开发板上即可

#make uImage

由于篇幅开发板启动信息我放在下篇。

本文由muge0913编写,希望给嵌入开发者带来一些帮助,并希望能和大家交流技术,若有不对的地方,或有更好的方法请指出。

转载请注明出处:http://blog.csdn.net/muge0913/article/details/7240201




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值