mini2440驱动移植..docVIP

  1. 1、本文档共172页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
mini2440驱动移植.

Linux-内核在mini2440上的移植(一)构建自主开发环境?? 2011-05-26 20:18:34|??分类: Linux内核移植 |??标签: |字号大中小?订阅 移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容) 1,主机环境:VMare下CentOS 5.5 ,1G内存。 2,集成开发环境:Elipse IDE 3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。 4,开发板:mini2440,2M nor flash,128M nand flash。 5,u-boot版本:u-boot-2009.08 6,linux 版本:linux- 7,参考文章: 【1】嵌入式linux应用开发完全手册,韦东山,编著。 【2】/u3/101649/showart_2276906.html ?【3】Mini2440 之Linux 移植开发实战指南 1.1,构建自主开发环境 我们在进行u-boot移植时,在u-boot-2009.08在mini2440上的移植(六)增加引导内核功能提到过机器码(MACH_TYPE),在引导测试时,为了便于测试,使用的是友善官方移植好的linux内核。现在我们将从这里着手,逐步开始linux内核的移植。 【1】下载并解压内核源码 在命令行终端中可以通过下列方式下载,当然用其它下载工具下载 [root@localhost ~]# wget /pub/linux/kernel/v2.6/linux-.tar.gz 然后解压: [root@localhost ~]# cd ./linux-test/ [root@localhost linux-test]# tar -zxf ../linux-.tar.gz [root@localhost linux-test]# ls linux-? linux-2.6.39? yaffs2? yaffs2.tar.gz [root@localhost linux-test]# cd linux- [root@localhost linux-]# 【2】指定交叉编译变量 我们移植目的是让 Linux- 可以在mini2440 上运行。首先,我们要使得Linux- 的缺省目标平台成为ARM 的平台,修改总目录下的Makefile。 用gedit打开/Makefile,定位到183行,修改如下: # Alternatively CROSS_COMPILE can be set in the environment. # 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 其中,ARCH 是指定目标平台为arm,CROSS_COMPILE 是指定交叉编译器,这里指定的是系统默认的交叉编译器,如要使用其它的,则要把编译器的全路径在这里写出。注意,在arm和arm-linux-后不要留空格,否则在编译时会出现错误。 接下来,要测试一下linux 的编译是否能正常通过。执行: [root@localhost linux-]# make s3c2410_defconfig 使用缺省内核配置文件,s3c2410_defconfig 是SMDK2440 的缺省配置文件 [root@localhost linux-]# make 编译时间较长... ... 。编译通过,在此我们先不必烧写到开发板验证它的正确性。 【3】建立自己的目标平台 (1)关于机器码 以上编译是用的 Linux 内核本身支持的目标平台配置,它对应于SMDK2440。现在我们要参考SMDK2440 加入自已的开发板平台,我们使用的是mini2440,因此取名为MINI2440。需要说明的是,Linux- 本身已经包含了mini2440 的支持,这样就出现了重名。那怎么办呢?在此我们依然使用MINI2440 这个名称,只不过在后面的移植步骤中,把原始内核自带的mini2440 代码部分直接删除就可以了,以免和我们自己移植的混淆。 首先,很关键的一点,内核在启动时,是通过bootloader 传入的机器码(MACH_TYPE)确定应启动哪种目标平台的,友善之臂已经为mini2440

文档评论(0)

xznh + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档