- 4
- 0
- 约53.83万字
- 约 101页
- 2017-08-05 发布于河南
- 举报
HYPERLINK /hanxuefan/article/details/7369418 linux mini2440平台移植--内核移植、yaffs2文件系统移植
1.1?????????? 获取Linux内核源代码
有很多方式可以获取Linux内核源代码,如果你的linux平台可以上互联网,可以直接在命令行输入以下命令获取到Linux-:
#wget /pub/linux/kernel/v2.6/linux-.tar.gz
当然你也可以先在Windows系统下使用迅雷等工具下载完,再复制到linux中。
1.2?解压内核源代码
假定我们刚才把内核源代码下载到了/root/mini2440目录,执行以下解压命
令:
#cd? /opt/FriendlyARM/mini2440
#tar? xvzf? linux-.tar.gz
1.3?指定交叉编译变量
我们移植目的是让Linux-可以在mini2440上运行。
首先,我们要使得Linux-的缺省目标平台成为ARM的平台。
修改总目录下的Makefile
原
export KBUILD_BUILDHOST := $(SUBARCH)
ARCH? ?= $(SUBARCH)
CROSS_COMPILE ?=?
改为
export KBUILD_BUILDHOST := $(SUBARCH)
ARCH? ?= arm
CROSS_COMPILE ?= arm-linux-
其中,ARCH是指定目标平台为arm,CROSS_COMPILE是指定交叉编译器,这里指定的是系统默认的交叉编译器,如要使用其它的,则要把编译器的全路径在这里写出。
接下来,要测试一下linux的编译是否能正常通过。
执行:
#make s3c2410_defconfig ;使用缺省内核配置文件,s3c2410_defconfig是SMDK2440的缺省配置文件,我的s3c2410_defconfig文件位于/arch/arm/configs/s3c2410_defconfig
#make ;编译时间较长
?
编译通过,在此我们先不必烧写到开发板验证它的正确性。
?
1.4?克隆建立自己的目标平台
1.4.1关于机器码
?
以上编译是用的Linux内核本身支持的目标平台配置,它对应于SMDK2440。现在我们要参考SMDK2440加入自已的开发板平台,我们使用的是mini2440,因此取名为MINI2440。需要说明的是,Linux-本身已经包含了mini2440的支持,这样就出现了重名。那怎么办呢?在此我们依然使用MINI2440这个名称,只不过在后面的移植步骤中,把原始内核自带的mini2440代码部分直接删除就可以了,以免和我们自己移植的混淆了。首先,很关键的一点,内核在启动时,是通过bootloader传入的机器码(MACH_TYPE)确定应启动哪种目标平台的,友善之臂已经为mini2440申请了自己的机器码为1999,它位于linux-/arch/arm/tools/mach_types文件中.
如果内核的机器码和bootloader传入的不匹配,就会经常出现下面的错误:
Uncompressing Linux done, booting
the kernel.
运行到这不就停住了
提示:在U-boot/include/asm-arm/mach-types.h中可以看到mini2440的机器码定义
接下来,我们注意到linux-/arch/arm/mach-s3c2440目录下有个
mach-mini2440.c文件,它其实就是国外爱好者为mini2440移植添加的主要内容了,但我们不用它,把它直接删除。将linux-/arch/arm/mach-s3c2440/目录下的mach-smdk2440.c复制一份。命名为mach-mini2440.c,
找到MACHINE_START(S3C2440, SMDK2440),修改为
MACHINE_START(MINI2440, FriendlyARM Mini2440 development board)。
提示:开发板运行后,在命令行终端输入:cat /proc/cpuinfo?可以看到我们添加的开发板信息
?
1.4.2?修改时钟源频率
现在再来修改系统时钟源,在mach-mini2440.c(就是我们刚刚通过复制
mach-smdk2440.c得到的)的第160行static void __init smdk2440_map_io(void)函数中,把其中代表原SMDK2440目标板上的晶振是16.9344MHz)改为mini2440开发板上实际使用的12,000,000(代表mini2440开发板上的晶振12MHz,元器件
原创力文档

文档评论(0)