嵌入式系统课程设计.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式系统课程设计嵌入式系统课程设计

嵌入式系统课程设计 课题: 一、简介 操作系统是用于管理计算机资源和控制应用程序运行的计算机程序,充当计算机用户和计算机硬件之间的一个中介。本次课程学习主要了解嵌入式系统技术基本概念、特点、分类,掌握嵌入式系统软硬件设计的基本方法。 随着微电子技术的发展,嵌入式系统的硬件功能越来越强大,嵌入式软件开始使用C、c++等高级语言编写,调试手段也越来越多和成熟。在体系结构上,也由最初的单一控制流程,逐渐引入嵌入式操作系统等技术。嵌入式操作系统首先从技术上解决了嵌入式系统标准化、层次化的问题,其次基于嵌入式操作系统,我们可以形成有效的技术积累和资源积累,比如在嵌入式操作系统基础上的各种硬件驱动程序、专家库函数、行业库函数、产品库函数和通用性的应用程序等。嵌入式操作系统作为嵌入式系统的基础,是嵌入式系统重要的运行环境和开发平台,它的集成度和可用性直接关系到嵌入式系统的效率,历来是嵌入式系统设计和开发的重点。 二、系统总体设计 关于嵌入式Linux操作系统的移植主要包括移植环境的搭建,Bootloader的移植和内核的移植,构建linux根文件系统,驱动设备的移植。在这里主要介绍Bootloader的移植和内核的移植,比较PC机上的Linux与嵌入式Linux的内核,安装过程及模块的区别。 三、原理概述 Linux是一个用于多种硬件体系结构的操作系统,目前可以在i386、MIPS、ARM等硬件体系结构上运行,但是实际工作到特定的硬件环境上方方面面都需要修改,这就是具体的移植。例如基本操作系统移植包括文件系统、存储管理、设备驱动等,在原有系统的基础上根据系统结构的特点进行如下修改或开发:修改系统引导和初始化;去掉引导过程中多余代码,如:解压缩、移动核心代码等,以加速系统的引导和系统存储空间的充分利用;去掉swap,优化文件系统的物理布局,将常修改的文件定位在SDRAM中,不常修改的文件定位Flash中:修改外围初始化,简化系统文件的配置和文件属性、访问模式的设置,以便于安全管理;修改存储管理,使特定程序能在位执行,并增强内存空间的保护机制;开发所需驱动程序、设备状态监视程序: 本章将从Bootloader移植、内核移植等方面来分析讲解一个完整的 Li FlUX移植和优化的过程。 四、系统实现: 4.1移植环境的搭建 (1)获取内核源码 一个的FTP地址:/pub/linux/kernel/ (2)构建交叉编译环境 搭建交叉编译环境是嵌入式开发的第一步,也是很关键的一步。不同的体系结构、不同的操作内容设置是不同的版本的内核,都会用到不同的交叉编译器。选择交叉编译器非常重要,有些交叉编译器经常会有部分的bug,都会导致最后的代码无法正常运行。建立交叉编译环境的目的在于使用普通的PC机作为宿主机来调试目标开发板。建立ARM的交叉编译环境主要用到的开发工具有: binutils、gcc、glibc。其中binu2tils 是二进制文件的处理工具, 它主要包含了一些辅助开发工具, 例如objdump 显示反汇编码、nm列出符号表、readelf显示elf 文件信息及段信息、strip 将不必要的代码去掉以减少可执行文件大小等。这些工具在嵌入式开发初期, 尤其硬件平台存储器的地址安排是移植调试操作系统时非常有用; gcc 是编译工具, 用来编译内核代码的工具, 使用它可以编译汇编语言和c 语言的程序, 生成ARM的代码; glibc 是链接和运行库, 它的编译需要指定编译器为刚才做好的ARM交叉编译器; 否则编译出的glibc 代码将会是同时有ARM和x86 代码的混和体。所有需要用到的工具可以下载源码自行编译, 然后在宿主机上进行安装, 就可以建立起ARM的交叉编译环境。 4.2 BootLoder引导程序的移植在嵌入式系统中,BootLoader的作用与PC机上的BIOS类似,通过.BootlLoader可以完成对系统板上的主要部件如CPU,SDRAM,FLASH、串行口等进行初始化,也可以下载文件到系统板上,对FLASH进行擦除与编程。当运行操作系统时,它会在操作系统内核运行之前运行,通过它,可以分配内存空间的映射,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统准备好正确的环境。因此,正确建立Linux移植的前提条件是具备一个与Linux配套、易于使用的Boot Loader,它能够正确完成硬件系统的初始化和Linux的引导。 系统使用的BootLoader是VIVI。VIVI是CPU加电后运行的第一段程序,其基本功能是初始化硬件设备,建立内存空问的映射图,从而为调用嵌入式Linux内核做好准备。为能够实现正确引导Linux系统的运行,以及当编译完内核后,快速下载内核和文件系统,VIVI首先通过串口下载内核和文件系统,

文档评论(0)

yyanrlund + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档