- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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首先通过串口下载内核和文件系统,
您可能关注的文档
- 岳阳旅游景点大全.doc
- 岳阳楼记同步指导.doc
- 岳阳楼记练习及答案.doc
- 岳阳楼记经典练习题附答案.doc
- 岳阳王家河大桥.doc
- 岳飞后裔考略.doc
- 岳麓三样题命题.doc
- 岳麓书院解说词.doc
- 岳麓版七下历史复习提纲.doc
- 岳麓版历史总复习提纲.doc
- 《GB/T 32151.42-2024温室气体排放核算与报告要求 第42部分:铜冶炼企业》.pdf
- GB/T 32151.42-2024温室气体排放核算与报告要求 第42部分:铜冶炼企业.pdf
- GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法.pdf
- 中国国家标准 GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法.pdf
- 《GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法》.pdf
- 《GB/T 18238.2-2024网络安全技术 杂凑函数 第2部分:采用分组密码的杂凑函数》.pdf
- GB/T 18238.2-2024网络安全技术 杂凑函数 第2部分:采用分组密码的杂凑函数.pdf
- 《GB/T 17215.686-2024电测量数据交换 DLMS/COSEM组件 第86部分:社区网络高速PLCISO/IEC 12139-1配置》.pdf
- GB/T 13542.4-2024电气绝缘用薄膜 第4部分:聚酯薄膜.pdf
- 《GB/T 13542.4-2024电气绝缘用薄膜 第4部分:聚酯薄膜》.pdf
最近下载
- 公共危机案例.pdf VIP
- 3.5跨学科实践:探索厨房中的物态变化问题 +章节梳理延伸 课件 人教版(2024)物理八年级上册.pptx VIP
- 初中物理作业设计优秀案例(3篇).pdf
- 2023年急性ST段抬高型心肌梗死诊断和治疗指南.docx
- 大气的受热过程说课稿2023-2024学年高中地理湘教版(2019)必修一.docx VIP
- 外研版2023必修第一册Unit 3 Family matters重点词汇短语练习含答案.pdf
- 国家开放大学《心理学》形考任务1-4参考答案.docx VIP
- 售后转正工作总结PPT.pptx
- ISO45001品质中心第三方审核记录.doc
- 3.5+跨学科实践:探究厨房中的物态变化问题++课件-2024-2025学年物理人教版八年级上册.pptx VIP
文档评论(0)