网站大量收购独家精品文档,联系QQ:2885784924

嵌入式Linux系统移植.pptxVIP

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

2025/4/20操作系统实验1操作系统实验五:嵌入式Linux系统移植

内容预览2025/4/20操作系统实验2移植的基本概念硬件平台对移植的影响移植环境搭建Linux操作系统移植Linux内核结构Linux内核向S3C2410移植配置和编译内核

移植的基本概念2025/4/20操作系统实验3使某个平台的代码运行在其他平台上的过程就叫做移植。Linux系统通过移植可以运行在ARM,PowerPC,M68K等多种平台上。软件的移植分三种:从一个硬件平台移植到另一个硬件平台从一个操作系统移植到另一个操作系统从一种软件库环境移植到另一个软件库环境软件进行移植的容易程度即可移植性

硬件平台对移植的影响2025/4/20操作系统实验4Linux硬件平台硬件平台对移植的影响处理器字长字节顺序时间

Linux硬件平台2025/4/20操作系统实验5在Linux内核里,每一个处理器指令集对应一个独立的体系结构architecture,比如alpha,arm,i386,mips,ppc每个体系结构可以有若干变种variant,或不同配置的硬件machine,统称sub-architecture。以arm体系结构举例:variants包括arm7tdmi,arm926ejs,strongarm,xscalemachine包括edb7312,smdk2410,omap-h2

处理器字长2025/4/20操作系统实验6处理器字长,定义为处理器一次能处理的数据位数。处理器字长会影响int,long等C类型的长度字长等于处理器内部数据通路的宽度,一般可以通过通用寄存器的宽度来判断C代码当中需要使用确定大小的数据类型,可以使用显式长度的类型:u8,s8,u16,s16,u32,s32,u64,s64

字节顺序2025/4/20操作系统实验7字节顺序byteorder是指一个字中字节排列的顺序不同硬件可能采用不同byteorderx86little-endianppcbig-endianLinux内核将硬件的byteorder放在asm/byteorder.h里面定义,__BIG_ENDIAN或__LITTLE_ENDIAN在include/linux/byteorder/里面有几个头文件,定义了u23__cpu_to_be32(u32);/*convertcpusbyteordertobigendian*/u32__cpu_to_le32(u32);/*convertcpusbyteordertolittleendian*/u32__be32_to_cpu(u32);/*convertbig-endiantocpusbyteorder*/u32__le32_to_cpus(u32);/*convertlittle-endiantocpusbyteorder*/

include/linux/byteorder/bigend.h字节顺序2025/4/20操作系统实验8

字节顺序2025/4/20操作系统实验9include/linux/byteorder/swab.h

时间2025/4/20操作系统实验10软件中的与时间相关的代码也会影响移植采用平台无关的时间表达方法可以提高代码可移植性Linux内核里面采用HZ来表示每秒钟有多少个内部时钟滴答,以下对时间的描述是平台无关的HZ/*onesecond*/(2*HZ)/*twoseconds*/(HZ/2)/*halfasecond*/(HZ/100)/*10ms*/(2*HZ/100)/*20ms*/

移植环境的搭建2025/4/20操作系统实验11获取内核源码01构建交叉编译环境02

获取内核源码2025/4/20操作系统实验1201.移植内核之前,获取内核源码自然是第一步02.一个常用的FTP地址:

构建交叉编译环境2025/4/20操作系统实验13搭建交叉编译环境是嵌入式开发的第一步,也是很关键的一步。不同的体系结构、不同的操作内容设置是不同的版本的内核,都会用到不同的交叉编译器。选择交叉编译器非常重要,有些交叉编译器经常会有部分的bug,都会导致最后的代码无法正常运行。01Gcc的版本有很多种,其中低于版本的只能编译Linux2.4版本的内核,而既能支持Linux2.4版本的内核,也能支持Linux2.6版本的内核.我们采用02

构建交叉编译环境2025/4/20操作系统实验14解压缩文件然后,我们可以使用命令“echo$PATH”来查看添加后的情况要验证添加是否成功,在终端中输入“arm-linux-gcc-v”,查看编译器的版本号下

文档评论(0)

135****1732 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档