嵌入式系统技术与设计 教学课件 作者 刘洪涛 孙天泽 07.docVIP

嵌入式系统技术与设计 教学课件 作者 刘洪涛 孙天泽 07.doc

  1. 1、本文档共88页,可阅读全部内容。
  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文档。上传文档
查看更多
第7章 嵌入式操作系统及开发简述 本章介绍了关于嵌入式Linux的基本内容。本章从嵌入式开发环境的搭建和交叉编译开始,介绍了Bootloader的概念以及U-Boot的编译方法;然后介绍了Linux内核的相关知识,主要讲解了内核编译和移植的方法;本章最后还介绍了Linux根文件系统的内容。通过本章的学习,读者应熟悉嵌入式Linux的基本开发流程,并掌握编译U-Boot和编译Linux的方法。 本章主要内容: ● 嵌入式Linux简介 ● 配置嵌入式Linux开发平台 ● Bootloader的编译和移植概要 ● 内核的编译和移植概要 ● 根文件系统 7.1 嵌入式Linux简介 Linux是一种类UNIX操作系统。从绝对意义上讲,Linux是Linus Torvalds维护的内核。现在的Linux操作系统已经包括内核和大量应用程序,这些软件大部分来源于GNU软件工程。因此,Linux又称为GNU/Linux。目前Linux操作系统的发行版很多,比较知名的发行版包括Redhat Linux、Suse Linux、Ubuntu Linux、Turbo Linux等。这些Linux版本都可以在台式机或者服务器上安装使用。 嵌入式Linux是在Linux基础上经过裁剪,在嵌入式设备上运行的一种Linux操作系统。根据嵌入式产品的特性,嵌入式Linux在实时性方面要优于普通的Linux操作系统。一些商业上的嵌入式Linux产品往往价格不菲,如MontaVista Linux。MontaVista在实时性电源管理高可靠性和稳定性MontaVista就支持了包括ARM在内的五大主流平台。 7.2 构建嵌入式Linux开发环境 构建开发环境是任何开发工作的基础,对于软、硬件非常丰富的嵌入式系统来说,构建高效、稳定的环境是能否开展工作的重要因素之一。本节将介绍如何构建一套嵌入式Linux开发环境。在构建开发环境以前,有必要了解嵌入式Linux开发流程。因为嵌入式Linux开发往往会涉及多个层面,这与桌面开发有很大不同。构建一个Linux系统,需仔细考虑下面几点。 (1)选择嵌入式Linux发行版。商业的Linux发行版是作为产品开发维护的,经过严格的测试验证,并且可以得到厂家的技术支持。它为开发者提供了可靠的软件和完整的开发工具包。 (2)熟悉开发环境和工具。交叉开发环境是嵌入式Linux开发的基本模型。Linux环境配置、GNU工具链、测试工具甚至集成开发环境都是开发嵌入式Linux的利器。 (3)熟悉Linux内核。因为嵌入式Linux开发一般需要重新定制Linux内核,所以熟悉内核配置、编译和移植很重要。 (4)熟悉目标板引导方式。开发板的Bootloader负责硬件平台的最基本的初始化,并且具备引导Linux内核启动的功能。由于硬件平台是专门定制的,一般需要修改编译Bootloader。 (5)熟悉Linux根文件系统。高级一点的操作系统一般都有文件系统的支持,Linux也一样离不开文件系统。系统启动必需的程序和文件都必须放在根文件系统中。Linux系统支持的文件系统种类非常多,我们可以通过Linux内核命令行参数指定要挂接的根文件系统。 (6)理解Linux内存模型。Linux是保护模式的操作系统。内核和应用程序分别运行在完全分离的虚拟地址空间,物理地址必须映像到虚拟地址才能访问。 (7)理解Linux调度机制和进程线程编程。Linux调度机制影响到任务的实时性,理解调度机制可以更好地运用任务优先级。此外,进程和线程编程是应用程序开发所必需的。 7.2.1 交叉开发环境介绍 交叉开发环境是由开发主机和目标板两套计算机系统构成的。目标板Linux软件是在开发主机上编辑、编译,然后加载到目标板上运行的。为了方便Linux内核和应用程序软件的开发,还要借助各种连接手段。图7-1反映了嵌入式Linux的交叉开发环境。其中,HOST代表开发主机,我们的源程序、编译器都存放在这里。TARGET是目标平台,也就是ARM开发板。我们的Linux内核、应用程序会传到这上边运行。在开发过程中,一般采用NFS(网络文件系统)挂载根文件系统,而这个根文件系统都存放在HOST中。 7.2.2 安装交叉开发工具 这里我们以嵌入式开发使用最广泛的Ubantu7.04为例,对于其他版本的Linux,步骤大体相同。 1.目标板与主机之间连接 目标板和主机之间通常可以使用串口、以太网接口、USB接口及JTAG接口等方式连接。 2.文件传输方式 主机端编译的Linux内核映像必须有至少一种方式下载到目标板上执行。通常是目标板的引导程序负责把主机端的映像文件下载到内存中。根据不同的连接方式,可以有多种文件传输方式,每一种方式都需要相应的传输软件和协议。 (1)串口

您可能关注的文档

文档评论(0)

时间加速器 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档