第20章Linux内核移植.pdfVIP

  1. 1、本文档共20页,可阅读全部内容。
  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文档。上传文档
查看更多

第20章Linux内核移植

20.1Linux内核移植要点

Linux本身对内存管理(MMU)有很好的支持。因此,

在移植的时候首先要考虑到目标硬件平台是否支持MMU

以ARM平台为例,ARM7内核的CPU不支持MMU,无法直

接把Linux内核代码移植到ARM7核的硬件平台μcLinux是

专门针对ARM7这类没有MMU的硬件平台设计的,它精简

了MMU部分代码。本书的目标平台是S3C2440A,该处理器

基于ARM9核,支持MMU,可以直接移植Linux2.6版本的

内核代码

1.目标平台

2.内存管理单元(MMU)

3.内存映射

4.存储器

20.2平台相关代码结构

Linux内核代码目录基本是安装功能块划分的,每个功能

块的代码存放在一个目录下。如mm目录存放内存管理单元相

关代码;ipc存放了进程间通信相关的代码;kernel存放进程调

度相关代码等

arc目录下每个平台的代码都采用了与内核代码相同的

目录结构。以arch/arm目录为例,该目录下mm、lib、kernel、

boot目录与内核目录下对应目录的功能相同。此外,还有一些

以字符串mac开头的目录,对应不同处理器特定的代码。从

arc目录结构可以看出,平台相关的代码都存放到arc目录下,

并且使用与内核目录相同的结构。使用SourceInsight工具可以

看到许多的同名称函数,原因就是内核代码调用的函数是平台

相关的,每个平台都有自己的实现方法。对于内核来说,使用

相同的名字调用,通过编译选项选择对应平台的代码

20.3建立目标平台工程框架

Linux内核2.6版本已经对ARM处理器有很好的支持,

并且对三星公司的S3C2440提供一定支持。但是,嵌入式硬

件系统的差别很大,移植Linux内核到新的开发板仍然需要

修改或者增加针对特定硬件的代码。

20.3.1加入编译菜单项

修改arch/arm/mach-s3c2410/Kconfig文件,在

“endmenu”之前加入下面的内容:

87configARCH_MINI2440

88bool"mini2440"

89selectCPU_S3C2440

90help

91SayYhereifyouareusingthemini2440.

20.3.2设置宏与代码文件的对应关系

在设置宏与代码文件对应关系之前,首先建立一个空的

代码文件。在arch/arm/mach-s3c2410目录下建立mach-

mini2440.c文件,用于存放与mini2440开发板相关的代码。

建立mach-mini2440.c文件后,修改arch/arm/mach-

s3c2410/Makefile文件,在文件最后加入mach-mini2440.c文

件的编译信息:

43obj-$(CONFIG_ARCH_MINI2440)+=mach-

mini2440.o

20.3.3测试工程框架

工程框架配置修改完毕后,需要进行简单的测试,根据

测试结果判断框架是否搭建成功。回到内核代码顶层目录,

输入“makeARCH=armCROSS_COMPILE=arm-linux-

menuconfig”命令,出现内核设置图形界面。

加载默认配置文件后,可以开始配置新增加的菜单。进

入“SystemTypes”菜单项,打开“S3C24XXImplementations”

菜单,出现一个目标开发板的列表:

[]SimtecElectronicsBAST(EB2410ITX)

[]IPAQH1940

[]AcerN30

[]SMDK241

文档评论(0)

布鲁斯丶李 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档