嵌入式Linux内核移植详解顶嵌.docVIP

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

内核移植阶段 内核是操作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。直接对硬件操作是非常复杂的,所以内核通常提供一种硬件抽象的方法来完成这些操作。硬件抽象隐藏了复杂性,为应用软件和硬件提供了一套简洁,统一的接口,使程序设计更为简单。/thread-80832-5-1.html。bootloader移植准备。 内核源码 这里我们选用比较新的内核源码版本linux-,他的下载地址是/pub/linux/kernel/v2.6/linux-.tar.bz2。 烧写工具 我们选用网口进行烧写这就需要内核在才裁剪的时候要对网卡进行支持 知识储备 要进行内核裁剪不可缺少的是要对内核源码的目录结构有一定的了解这里进行简单介绍。 (1)arch/: arch子目录包括了所有和体系结构相关的核心代码。它的每一个子目录都代表一种支持的体系结构,例如i386就是关于intel cpu及与之相兼容体系结构的子目录。PC机一般都基于此目录 (2)block/: 部分块设备驱动程序 (3)crypto: 常用加密和散列算法(如AES、SHA等),还有一些压缩和CRC校验算法 (4) documentation/: 文档目录,没有内核代码,只是一套有用的文档 (5) drivers/: 放置系统所有的设备驱动程序;每种驱动程序又各占用一个子目录:如,/block 下为块设备驱动程序,比如ide(ide.c)。fs/: 所有的文件系统代码和各种类型的文件操作代码,它的每一个子目录支持一个文件系统, 例如fat和ext2 (7)include/: include子目录包括编译核心所需要的大部分头文件。与平台无关的头文件在 include/linux子目录下,与 intel cpu相关的头文件在include/asm-i386子目录下,而include/scsi目录则是有关scsi设备的头文件目录 (8) init/: 这个目录包含核心的初始化代码(注:不是系统的引导代码),包含两个文件main.c和Version.c,这是研究核心如何工作的好的起点之一 (9)ipc/: 这个目录包含核心的进程间通讯的代码 (10)kernel/: 主要的核心代码,此目录下的文件实现了大多数linux系统的内核函数,其中最重要的文件当属sched.clib/: 放置核心的库代码 (12) mm/:这个目录包括所有独立于 cpu 体系结构的内存管理代码,如页式存储管理内存的分配和释放等net/: 核心与网络相关的代码 (14)scripts/: 描述文件,脚本,用于对核心的配置 (15)security: 主要是一个SELinux的模块 (16)sound: 常用音频设备的驱动程序等; usr: 实现了一个cpio (18)COPYING: GPL版权申明; CREDITS: 光荣榜; Kbuild: 一个包含了某些通用规则的编译文件; MAINTAINERS: 维护人员列表,对当前版本的内核各部分都有谁负责; Makefile: 第一个Makefile文件。用来组织内核的各模块,记录了个模块间的相互这间的联系和依托关系,编译时使用;仔细阅读各子目录下的Makefile文件对弄清各个文件这间的联系和依托关系很有帮助; ReadMe: 核心及其编译配置方法简单介绍; REPORTING-BUGS:有关报告Bug 的一些内容; 一 般在每个目录下都有一个.depend文件和一个Makefile文件。这两个文件都是编译时使用的辅助文件。仔细阅读这两个文件对弄清各个文件之间的联 系和依托关系很有帮助。另外有的目录下还有Readme文件,它是对该目录下文件的一些说明,同样有利于对内核源码的理解。 3.修改平台时钟 修改平台的时钟频率,以满足开发板的工作频率。修改内核源码“arch/arm/mach-s3c2440/mach-s3c2440.c” 文件的162行,把16.9344MHz改为12MHz,因为我们选用的开发板使用的就是12MHz的外部时钟源输入。 如下图所示: 制作开发板配置文件 我们选用的是比较通用配置的开发板,所以用内核中自带的配置文件,进行修改是比较方便的做法。该配置单在内核源码的“arch/arm/configs/”目录下面,名为:“s3c2410_defconfig”,该配置文件里面选择了几乎所有的和S3C24XX系列CPU相关的配置选项,我们完全可以在该配置单的基础上进行配置。首先将该文件考到根目录命名为.config 指令为:# cp arch/arm/configs/s3c2410de

文档评论(0)

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

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

版权声明书
用户编号:7042123103000003

1亿VIP精品文档

相关文档