- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
-
嵌入式系统课程设计
课题:嵌入式Linu*操作系统的移植与研究
一、简介
操作系统是用于管理计算机资源和控制应用程序运行的计算
程序,充当计算机用户和计算机硬件之间的一个中介。本次课程学习
主要了解嵌入式系统技术根本概念、特点、分类,掌握嵌入式系统软
硬件设计的根本方法。
随着微电子技术的开展,嵌入式系统的硬件功能越来越强大,嵌
入式软件开场使用C、c++等高级语言编写,调试手段也越来越多和成
熟。在体系构造上,也由最初的单一控制流程,逐渐引入嵌入式操作
系统等技术。嵌入式操作系统首先从技术上解决了嵌入式系统标准化、
层次化的问题,其次基于嵌入式操作系统,我们可以形成有效的技术
积累和资源积累,比方在嵌入式操作系统根底上的各种硬件驱动程序、
专家库函数、行业库函数、产品库函数和通用性的应用程序等。嵌入
式操作系统作为嵌入式系统的根底,是嵌入式系统重要的运行环境和
开发平台,它的集成度和可用性直接关系到嵌入式系统的效率,历来
是嵌入式系统设计和开发的重点。
二、系统总体设计
关于嵌入式Linu*操作系统的移植主要包括移植环境的搭建,
Bootloader的移植和内核的移植,构建linu*根文件系统,驱动设备的
.z
-
移植。在这里主要介绍Bootloader的移植和内核的移植,比拟PC机上
的Linu*与嵌入式Linu*的内核,安装过程及模块的区别。
三、原理概述
Linu*是一个用于多种硬件体系构造的操作系统,目前可以在
i386、MIPS、ARM等硬件体系构造上运行,但是实际工作到特定的硬
件环境上方方面面都需要修改,这就是具体的移植。例如根本操作系
统移植包括文件系统、存储管理、设备驱动等,在原有系统的根底上
根据系统构造的特点进展如下修改或开发:修改系统引导和初始化;
去掉引导过程中多余代码,如:解压缩、移动核心代码等,以加速系
统的引导和系统存储空间的充分利用;去掉swap,优化文件系统的
物理布局,将常修改的文件定位在SDRAM中,不常修改的文件定位
Flash中:修改外围初始化,简化系统文件的配置和文件属性、模式
的设置,以便于平安管理;修改存储管理,使特定程序能在位执行,
并增强内存空间的保护机制;开发所需驱动程序、设备状态监视程序:
本章将从Bootloader移植、内核移植等方面来分析讲解一个完整的
LiFlU*移植和优化的过程。
四、系统实现:
4.1移植环境的搭建
〔1〕获取内核源码
〔2〕构建穿插编译环境
搭建穿插编译环境是嵌入式开发的第一步,也是很关键的一步。
不同的体系构造、不同的操作内容设置是不同的版本的内核,都会用
.z
-
到不同的穿插编译器。选择穿插编译器非常重要,有些穿插编译器经
常会有局部的bug,都会导致最后的代码无法正常运行。建立穿插编
译环境的目的在于使用普通的PC机作为宿主机来调试目标开发板。建
立ARM的穿插编译环境主要用到的开发工具有:binutils、gcc、glibc。
其中binu2tils是二进制文件的处理工具,它主要包含了一些辅助开
发工具,例如objdump显示反汇编码、nm列出符号表、readelf显示
elf文件信息及段信息、strip将不必要的代码去掉以减少可执行文
件大小等。这些工具在嵌入式开发初期,尤其硬件平台存储器的地
址安排是移植调试操作系统时非常有用;gcc是编译工具,用来编译
内核代码的工具,使用它可以编译汇编语言和c语言的程序,生成
ARM的代码;glibc是和运行库,它的编译需要指定编译器为刚刚做
好的ARM穿插编译器;否则编译出的glibc代码将会是同时有ARM和
*86代码的混和体。所有需要用到的工具可以下载源码自行编译,
然后在宿主机上进展安装,就可以建立起ARM的穿插编译环境。
4.2BootLoder引导程序的移植
在嵌入式系统中,BootLoader的作用与PC机上的BIOS类似,通
文档评论(0)