精品资料2022年收藏嵌入式i课程大作业解读

上传人:无*** 文档编号:93497302 上传时间:2022-05-20 格式:DOC 页数:12 大小:3.98MB
收藏 版权申诉 举报 下载
精品资料2022年收藏嵌入式i课程大作业解读_第1页
第1页 / 共12页
精品资料2022年收藏嵌入式i课程大作业解读_第2页
第2页 / 共12页
精品资料2022年收藏嵌入式i课程大作业解读_第3页
第3页 / 共12页
资源描述:

《精品资料2022年收藏嵌入式i课程大作业解读》由会员分享,可在线阅读,更多相关《精品资料2022年收藏嵌入式i课程大作业解读(12页珍藏版)》请在装配图网上搜索。

1、 课程论文嵌入式系统论 文成绩评定表学院名称 : 专业班级 : 学生姓名 : 学 号 : 指导教师 : 成绩: 2015年12月6日 嵌入式系统论 文 专 业 班 级 : 学 生 姓 名 : 学 号 : 指 导 教 师 : 经过几个周的嵌入式学习,对嵌入式有了一定的了解。所谓嵌入式系统,就是一种完全嵌入受控器件内部,为特定应用而设计的专用计算机系统。嵌入式系统使控制更加的精简,只是使用很小的一个模块就能实现在生产当中的控制。相对于通用计算机,嵌入式系统更加容易优化、控制以及节约成本。嵌入式广泛的应用在工业控制,交通管理,智能家居,环境工程与自然,机器人,以及电子商务等领域。就智能家居来说,通常

2、的的家电的控制只能是通过人为的去通过开关控制,就拿窗帘来说,我们可以通过对光的感应来控制窗帘的拉开或是关闭;冰箱、空调等的网络化、智能化将引领人们的生活步入一个崭新的空间。即使你不在家里,也可以通过电话线、网络进行远程控制。水、电、煤气表的远程自动抄表,安全防火、防盗系统,其中嵌有的专用控制芯片将代替传统的人工检查,并实现更高,更准确和更安全的性能。目前在服务领域,如远程点菜器等已经体现了嵌入式系统的优势。 常用嵌入式处理器可以分为:1嵌入式微处理器(MPU): 嵌入式微处理器的基础是通用计算机中的CPU。在应用中,将微处理器装配在专门设计的电路板上,只保留和嵌入式应用有关的母板功能,这样可以

3、大幅度的减少系统体积和功耗。为满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但是在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。嵌入式处理器目前主要有Power PC、68000、MIPS、ARM系列等。2嵌入式微控制器又称单片机,就是将整个计算机系统集成到一块芯片中。嵌入式微控制器一般以某一种微处理器内核为核心,芯片内部集成ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、看门狗、I/O、串行口、脉宽调制输出、A/D、D/A、Flash RAM、EEPROM等各种必要功能和外设3、嵌入式DSP处理器嵌入式DSP处理器(Embedded Dig

4、ital Signal Processor, EDSP)DSP处理器是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,具有很高的编译效率和指令的执行速度4、嵌入式片上系统嵌入式片上系统追求产品系统最大包容的集成器件,是目前嵌入式应用领域的热门话题之一。SOC最大的特点是成功实现了软硬件无缝结合,直接在处理器片内嵌入操作系统的代码模块。而且SOC具有极高的综合性,在一个硅片内部运用VHDL等硬件描述语言,实现一个复杂的系统。嵌入式处理器方面相对了解较多的是单片机和ARM,目前市面上所用的ARM主要是Cortex-A57处理器、Cortex-A53处理器、Cortex-A1

5、5处理器、Cortex-A9处理器、Cortex-A8处理器、Cortex-A7处理器、Cortex-A5处理器、ARM11处理器、ARM9处理器、ARM7处理器,我们使用比较多的ARM处理器多为arm9。说到ARM处理器,不得不说一下ARM9,其实这个处理器个人感觉在平常德学习中是绰绰有余的。ARM9采用哈佛体系结构,指令和数据分属不同的总线,可以并行处理,支持32位ARM指令集和16位Thumb指令集。Thumb指令集与ARM指令集的区别一般有如下几点:跳转指令:程序相对转移,特别是条件跳转与ARM代码下的跳转相比,在范围上有更多的限制,转向子程序是无条件的转移。数据处理指令:数据处理指令

6、是对通用寄存器进行操作,在大多数情况下,操作的结果须放入其中一个操作数寄存器中,而不是第三个寄存器中。数据处理操作比ARM状态的更少,访问寄存器R8R15受到一定限制。(除MOV和ADD指令访问寄存器R8R15外,其他数据处理指令总是更新CPSR中ALU状态标志)访问寄存器R8R15的Thumb数据处理指令不能更新CPSR中的ALU状态标志单寄存器加载和存储指令:在Thumb状态下,单寄存器加载和存储指令只能访问寄存器R0R7批量寄存器加载和存储指令:LDM和STM指令可以将任何范围为R0R7的寄存器子集加载或存储。Thumb指令集不是完整的指令集,它是ARM指令集的子集。但是Thumb指令具

7、有更高的代码密度,如果在1K的存储空间中,可以放32条ARM指令,就可以放64条Thumb指令,因此在存放Thunb指令时,代码密度高。即占用存储空间小,仅为ARM代码规格的65%,但其性能却下降的很少。所以,Thumb指令集使ARM处理器能应用到有限的存储带宽,并且,代码密度要求很高的嵌入式系统中去。ARM9可以用两种方法存储字数据,分别称为大端格式和小端格式。在内存中数据是以字节为单位进行存储的,每个地址单元对应着一个字节(byte),一个字节为8位(bite)。但是很多时候数据除了8bit额char外,还有16bit的short,32位的long型(要看具体的编译器),必然存在多字节安排

8、的问题。不同的计算机存放多字节值的顺序不同,有些机器在起始地址存放低位字节(低位先存),即小端模式;有的机器在起始地址存放高位字节(高位先存),即大端模式。判断大小端的方法有很多,往往用一段很少的代码就可以判断出来,比较简单的方法是用union联合体,通过输出数据就可以轻松判断。嵌入式操作系统又称实时操作系统,是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统(包括硬、软件系统)极为重要的组成部分。常见的嵌入式操作系统有(一)嵌入式Linux这是嵌入式操作系统的一个新成员,其最大的特点是源代码公开并且遵循GPL协议,在近一年多以来成为研究热点,据IDG预测嵌入式Linux将占未来两年的嵌入

9、式操作系统份额的50%。由于其源代码公开,人们可以任意修改,以满足自己的应用,并且查错也很容易。遵从GPL,无须为每例应用交纳许可证费。有大量的应用软件可用。其中大部分都遵从GPL,是开放源代码和免费的。可以稍加修改后应用于用户自己的系统。有大量的免费的优秀的开发工具,且都遵从GPL,是开放源代码的。有庞大的开发人员群体。无需专门的人才,只要懂Unix/Linux和C语言即可。随着Linux在中国的普及,这类人才越来越多。所以软件的开发和维护成本很低。优秀的网络功能,这在Internet时代尤其重要。稳定这是Linux本身具备的一个很大优点。内核精悍,运行所需资源少,十分适合嵌入式应用。支持的

10、硬件数量庞大。嵌入式Linux和普通Linux并无本质区别,PC上用到的硬件嵌入式Linux几乎都支持。而且各种硬件的驱动程序源代码都可以得到,为用户编写自己专有硬件的驱动程序带来很大方便。在嵌入式系统上运行Linux的一个缺点是Linux体系提供实时性能需要添加实时软件模块。而这些模块运行的内核空间正是操作系统实现调度策略、硬件中断异常和执行程序的部分。由于这些实时软件模块是在内核空间运行的,因此代码错误可能会破坏操作系统从而影响整个系统的可靠性,这对于实时应用将是一个非常严重的弱点。(二)VxWorksVxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操

11、作系统(RTOS),是Tornado嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌人式实时操作系统领域逐渐占据一席之地。VxWorks具有可裁剪微内核结构;高效的任务管理;灵活的任务间通讯;微秒级的中断处理;支持POSIX10031b实时扩展标准;支持多种物理介质及标准的、完整的TCP/IP网络协议等。然而其价格昂贵。由于操作系统本身以及开发环境都是专有的,价格一般都比较高,通常需花费10万元人民币以上才能建起一个可用的开发环境,对每一个应用一般还要另外收取版税。一般不通供源代码,只提供二进制代码。由于它们都是专用操作系统,需要专门的技术人员掌握开发

12、技术和维护,所以软件的开发和维护成本都非常高。支持的硬件数量有限。(三) Windows CE是微软公司开发的一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统。Windows CE的图形用户界面相当出色,Windows CE具有模块化、结构化、基于Win32应用程序接口以及与处理器无关等特点。WindowsCE与Windows系列有较好的兼容性,无疑是WindowsCE推广的一大优势。其中WinCE3.0是一种针对小容量、移动式、智能化、32位、了解设备的模块化实时嵌人式操作系统。为建立针对掌上设备、无线设备的动态应用程序*务提供了一种功能丰富的操作系统平台,它能

13、在多种处理器体系结构上运行,并且通常适用于那些对内存占用空间具有一定限制的设备。它是从整体上为有限资源的平台设计的多线程、完整优先权、多任务的操作系统。它的模块化设计允许它对从掌上电脑到专用的工业控制器的用户电子设备进行定制。操作系统的基本内核需要至少200KB的ROM。由于嵌入式产品的体积、成本等方面有较严格的要求,所以处理器部分占用空间应尽可能的小。系统的可用内存和外存数量也要受限制,而嵌入式操作系统就运行在有限的内存(一般在ROM或快闪存储器)中,因此就对操作系统的规模、效率等提出了较高的要求。从技术角度上讲,WindowsCE作为嵌入式操作系统有很多的缺陷:没有开放源代码,使应用开发人

14、员很难实现产品的定制;在效率、功耗方面的表现并不出色,而且和Windows一样占用过的系统内存,运用程序庞大;版权许可费也是厂商不得不考虑的因素。这里我们比较熟悉的就是linux操作系统了,在一个嵌入式系统中使用Linux开发,根据应用需求的不同有不同的配置开发方法,这里我仅就我自己的学习写一下过程,我的板子是arm9。1建立开发环境我平时玩的操作系统是Linux,版本centos5.6,通过网络下载相应的GCC交叉编译器进行安装,或者安装产品厂家提供的交叉编译器。设置好相应的的环境变量。2配置开发主机配置MINICOM,一般的参数为波特率为115200bps,数据位为8位,停止位为1。 MI

15、NICOM软件的作用是作为调试嵌入式开发板的信息输出的,监视器和键盘输入的工具。配置网络,设置开发板的网络IP和电脑的IP在同一个网段。这里主要是配置NFS网络文件系统,需要关闭防火墙,简化嵌入式网络调试环境设置过程。3建立引导装载程序BOOTLOADERBootloader是在操作系统内核运行前运行的一段小程序,通过这个小程序,可以初始化硬件设备(如串口,网卡,sd卡,u 盘),建立内存映射,以便调用内核,启动操作系统。并提供丰富的操作命令,以便调用串口,网络,u盘等。提供读取内核镜像代码到ram中,并跳转执行内核。从网络上下载一些公开源代码的BOOTLOADER,如U-BOOT、VIVI、

16、LILO、ARM-BOOT、RED-BOOT等。这里我用的是u-boot,u-boot支持多种嵌入式操作系统内核, 支持多个处理器系列,如PowerPC、ARM、x86、MIPS;较高的可靠性和稳定性;高度灵活的功能设置,适合U-Boot调试、操作系统不同引导要求、产品发布等;丰富的设备驱动源码,较为丰富的开发调试文档与强大的网络技术支持。当然其他的也都是可以用的,这里就不做过多介绍了。4下载kernel,并编译修改。内核指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。一 个内核不是一套完整的操作系统。一套基于Linux内核的完整操作系统叫作Linux操作系统。 这里我下

17、载别人做好的kernel,修改其中的部分驱动以符合我的板子,其中尝试修改了开机的画面以及对触屏的控制。大部分的东西是不需要动的。5建立根文件系统从网络上下载一个根文件系统,再根据自己的应用需要添加其他程序。默认的启动脚本一般都不会符合应用的需要,所以就要修改根文件系统中的启动脚本,它的存放位置位于/etc目录下,包括:/etc/init.d/rc.S、/etc/profile、/etc/.profile等,自动挂装文件系统的配置文件/etc/fstab,具体情况会随系统不同而不同。根文件系统在嵌入式系统中一般设为只读,需要使用mkcramfs、genromfs等工具产生烧写映像文件。6建立应用

18、程序的Flash磁盘分区一般使用JFFS2或YAFFS文件系统,这需要在内核中提供这些文件系统的驱动,有的系统使用一个线性Flash(NOR型)512KB32MB,有的系统使用非线性Flash(NAND型)8512MB,有的两个同时使用,需要根据应用规划Flash的分区方案。7开发应用程序应用程序可以放入根文件系统中,也可以放入YAFFS、JFFS2文件系统中,这个在以后的学习中慢慢的会用的越来越多。8烧写内核、根文件系统、应用程序我们可以根据前面设置的nfs挂载工具,下载在计算机上修改好的u-boot,kernel,以及根文件系统到板子上。对于嵌入式操作系统图形用户接口设计软件,比较熟悉的是

19、linux操作系统的,大致有QT,MicroWindows,MiniGUI,OpenGUI,其中接触比较多的就是QT了,这里就简单的说一下QT吧,QT一个跨平台的C+图形界面应用程序框架。它实际上是一个类库,里面包括了大量的可重用的类,其中既有按钮、窗口等这些可见类,也有定时器这样的不可见类和一些抽象类。Qt是完全面向对象,拥有良好的扩展性与稳定性,并支持模块化编程。我们可以充分利用Qt高度面向对象和模块化的特征,从繁琐的X编程中解脱出来,专注于程序本身的内容,使Linux下窗口程序设计成为一件非常轻松的事情。不可见类和一些抽象类。Qt是完全面向对象,拥有良好的扩展性与稳定性,并支持模块化编程

20、。我们可以充分利用Qt高度面向对象和模块化的特征,从繁琐的X编程中解脱出来,专注于程序本身的内容,使Linux下窗口程序设计成为一件非常轻松的事情。在Qt中,对象之间进行通信采用了一种被称作信号与槽(Signal-Slot)的方式,这是Qt的重要特征之一。在MS-Windows中,程序通过消息队列和消息循环的方式进行消息的传递与事件的触发,而Qt的信号与槽机制采取了这样的方式:一个类可以定义多个信号和多个槽,信号就好像是事件,而槽则是响应事件的方法,并且和一般的成员函数没有太大的区别。如果需要实现它们之间的通信时,就将某个类的槽与某个类的信号连接起来,从而实现事件驱动。参 考 文 献【】 张大

21、波.嵌入式系统原理、设计与应用.机械工业出版社,2005【】 沈连丰.嵌入式系统及其开发应用.电子工业出版社,2005【】 田泽.嵌入式系统开发与应用.北京航空航天大学出版社,2005【】 符意德.嵌入式系统设计原理及应用.北京:清华大学出版社,2010 读书的好处1、行万里路,读万卷书。2、书山有路勤为径,学海无涯苦作舟。3、读书破万卷,下笔如有神。4、我所学到的任何有价值的知识都是由自学中得来的。达尔文5、少壮不努力,老大徒悲伤。6、黑发不知勤学早,白首方悔读书迟。颜真卿7、宝剑锋从磨砺出,梅花香自苦寒来。8、读书要三到:心到、眼到、口到9、玉不琢、不成器,人不学、不知义。10、一日无书,百事荒废。陈寿11、书是人类进步的阶梯。12、一日不读口生,一日不写手生。13、我扑在书上,就像饥饿的人扑在面包上。高尔基14、书到用时方恨少、事非经过不知难。陆游15、读一本好书,就如同和一个高尚的人在交谈歌德16、读一切好书,就是和许多高尚的人谈话。笛卡儿17、学习永远不晚。高尔基18、少而好学,如日出之阳;壮而好学,如日中之光;志而好学,如炳烛之光。刘向19、学而不思则惘,思而不学则殆。孔子20、读书给人以快乐、给人以光彩、给人以才干。培根

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!