- 1、本文档共88页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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)串口
您可能关注的文档
- 嵌入式Linux C语言程序设计基础教程 教学课件 作者 华清远见嵌入式学院 冯利美 冯建 第11章 嵌入式linux内核常见数据结构.ppt
- 嵌入式Linux C语言开发 教学课件 华清远见嵌入式学院 曾宏安 第1章 嵌入式linuxC语言开发工具.ppt
- 嵌入式Linux C语言开发 教学课件 华清远见嵌入式学院 曾宏安 第2章 嵌入式Linux C语言基础.ppt
- 嵌入式Linux C语言开发 教学课件 华清远见嵌入式学院 曾宏安 第3章 嵌入式Linux C高级用法.ppt
- 嵌入式Linux C语言开发 教学课件 华清远见嵌入式学院 曾宏安 第4章 嵌入式linux内核常见数据结构.ppt
- 嵌入式Linux C语言开发 教学课件 华清远见嵌入式学院 曾宏安 第5章 嵌入式Linux文件操作.ppt
- 嵌入式Linux C语言开发 教学课件 华清远见嵌入式学院 曾宏安 第6章 嵌入式Linux进程和线程编程.ppt
- 嵌入式Linux C语言开发 教学课件 华清远见嵌入式学院 曾宏安 第7章 网络通讯相关的C语言应用.ppt
- 嵌入式Linux操作系统 教学课件 华清远见嵌入式学院 孙天泽 第1章 嵌入式Linux操作系统简介.ppt
- 嵌入式Linux操作系统 教学课件 华清远见嵌入式学院 孙天泽 第2章 Linux操作系统使用与系统配置.ppt
最近下载
- 导学案:1.3位置变化快慢的描述—速度.docx VIP
- 2024监理规范知识竞赛练习试题及答案.doc VIP
- 1-3位置变化快慢的描述 速度 【解析版】(人教版2019).doc VIP
- 5.1《倍的认识》课件(共23张PPT) 人教版 三年级上册数学.pptx VIP
- 冀教版小学数学四年级下册【全册】课时练+单元测试卷(含答案).pdf VIP
- 2024威海热电集团有限公司招聘试题及答案解析.docx
- 课时1.3 位置变化快慢的描述—速度(练习)-高中物理同步(人教版2019必修第一册).docx VIP
- HG/T 20275-2017 - 化工设备工程施工及验收规范.pdf VIP
- hg20675-1990t化工企业静电接地设计规程.(完整).doc VIP
- 2025上饶市四股桥乡“回村任职大学生” 选聘考试备考题库及答案解析.docx VIP
文档评论(0)