嵌入式系统综述.doc_第1页
嵌入式系统综述.doc_第2页
嵌入式系统综述.doc_第3页
嵌入式系统综述.doc_第4页
嵌入式系统综述.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.摘要以嵌入式系统的日常应用引入,从嵌入式系统的定义与组成入手,对嵌入式系统的发展近况进行深入的介绍,介绍嵌入式软件技术的主要发展方向,并简要介绍了 c/os-II系统的移植。一、 引言不论是日常生活中经常使用的家庭自动化产品、家用电器、手提电话、自动柜员机(ATM),还是各行各业的办公设备、现代化医疗设备、航空电子、计算机网络设备、用于工业自动化和监测的可编程逻辑控制器(PLCs),甚至是娱乐设备的固定游戏机和便携式游戏机等都属于嵌入式系统。嵌入式系统始于微型机时代的嵌入式应用,通过将微型机嵌入到一个对象体系中,实现对象系统的智能化控制。随着科技的不断发展,在单片机时代,嵌入式系统以器件形态迅速进入到传统电子技术领域中,以电子技术应用工程师为主体,实现传统电子系统的智能化。而后,随着后PC时代的到来,网络、通信技术得以发展;同时,嵌入式系统软、硬件技术有了很大的提升,形成了基于嵌入式系统软、硬件平台,以网络、通信为主的非嵌入式底层应用的计算机应用模式。嵌入式系统通常应用于消费类、烹饪、工业、自动化、医疗、商业及军事领域。在电信系统中,从网络级的电话交换机到手机终端都部署了大量的嵌入式系统;消费级电子产品诸如PDA、MP3、移动电话、游戏机、打印机等都部署了嵌入式系统。二、 嵌入式系统的定义及组成嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软硬件可裁剪、适应应用系统,对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统区别于可以执行多重任务的通用型计算机,嵌入式系统是为某些特定任务而设计的。有些系统则必须满足实时性要求,以确保安全性和可用性;另一些系统则对性能要求很低甚至不要求性能,以简化硬件、降低成本。嵌入式系统主要由嵌入式微处理器、外围硬件、嵌入式操作系统以及用户的应用程序等4个部分组它是集软硬件于一体的可独立工作的“器件”,其中备成外围硬件设备和用户应用程序皆是基于不同的用户需求而有相应的不同的硬件及相关软件。2.1 嵌入式微处理器嵌入式处理器大概可分为两类。一类是普通微处理器:使用独立的集成电路存储器和外设。另一类是单片机:具有片上外设,降低了功耗、尺寸和成本。嵌入式系统的软件是为某种应用定制的,而不是像个人计算机那样的由终端用户安装的商品,因此可以使用各种不同的基本CPU架构:既有范纽曼型架构也有不同程度的哈佛结构;既有RISC也有非精简指令集处理器;字长从4位到64位甚至更高,当然最典型的仍然是8/16位。多数架构由几家不同的公司生产,使用了大量不同的变量和类型。嵌入式系统也会使用通用型微处理器,但比单片机需要更多外围电路。2.2 嵌入式操作系统嵌入式操作系统(Embedded Operating System ,EOS),负责嵌入系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动。嵌入式操作系统通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。随着科技的发展,无线网络的覆盖面积大大提高,移动类电子工具被广泛应用于生活、工作、科研等各个方面。手机无线上网、无线导航技术、无线地质探测仪、手持式售票刷卡设备等在生活中无处不在。而这些应用则主要涉及到嵌入式W eb浏览器、嵌入式数据库、嵌入式GUI(Graphical User Interface,简称GUI,又称图形用户接口)系统。2.2.1 嵌入式Web浏览器嵌入式Web浏览器是指嵌入式操作系统上使用的可供用户浏览网页的浏览器软件。由于嵌入式系统有其固有的存储容量小、处理器资源有限等特殊性,故其使用的Web浏览器/服务器不是一般的计算机上所使用的浏览器,而是专门针对嵌入式系统的相应的W eb浏览器。较为常用的嵌入式Web浏览器有:基于WinCE的内嵌简化版IE、基于Linux的Konqueror-embedded、基于WM的Access NetFront、通用平台的Opera浏览器、En-Reach的e-Browser , Mozilla的Monimo,除此以外还有WebKit , Browsex , Amaya和Ghostzilla等一些开源的浏览器引擎和浏览器。不同的浏览器适应于相应的嵌入式操作系统平台,具备不同的特性,在嵌入式系统多样化的今天,嵌入式浏览器具有分散性、多样性和变异性的特点。2.2.2嵌入式数据库与嵌入式移动数据库嵌入式数据库是指嵌入式系统中所使用的数据库系统。由嵌入式系统的特性决定,嵌入式数据有着内核小、性能高、可裁减、嵌入性、可移植性及功能齐备等特性。嵌入式数据库可分为嵌入数据库、小型的C/S结构数据库、移动数据库等。嵌入数据库大多仅仅基于嵌入式系统本机数据调用,不涉及到网络方面;小型的C/S结构数据库是企业级数据库的一个缩小版,缩小以后可以在一些实时性要求不高的设备内运行;嵌入式移动数据库是一种在移动环境下支持数据传送的分布式数据库,其数据传送在物理上是分散的而在逻辑上是集中的。当前主流的嵌入式数据库有:Oracle公司的Berkeley DB,Sybase Adaptive Server Anywhere,Linter以及SQLite等,除此以外还有Apache Derby,H2,ESENT等嵌入式数据库引擎。2.2.3 嵌入式GUI系统嵌入式GUI属于嵌入式编程开发,主要是为了更好地满足用户的需要而编写的用于实现客户与服务器端的交互操作界面。现在主流的嵌入式GUI系统大多集中在源码开放的Linux系统下,有Microwindows ,MiniGUI ,OpenGUI ,Qt/Embedded等。三、 常见的嵌入式操作系统3.1 windows CE Windows CE是微软公司嵌入式、移动计算平台的基础,它是一个开放的、可升级的32位嵌入式操作系统,是基十掌上型电脑类的电子设备操作系统,它是精简的Windows 95, Windows CE的图形用户界而相当出色。Windows CE作业系统是Window:家族中最新的成员,专门设计给掌上型电脑(HPCs)所使用的电脑环境。这样的作业系统可使完整的可携式技术与现有的Windows桌而技术整合工作。Windows CE被设计成针对小型设备(它是典型的拥有有限内存的无磁盘系统)的通用操作系统,Windows CE可以通过设计一层位十内核和硬件之间代码来用设定硬件平台,这即是众所周知的硬件抽象层(HAL)。不象其它的微软Windows操作系统,Windows CE并不是代表一个标准的相同的对所有平台适用的软件。为了足够灵活以达到适应广泛产品需求,Windows CE采用标准模式,这就意味着,它能够由一系列软件模式做出选择,从而使产品定制。另外,一些可利用模式也可作为其组成部分,这意味着这些模式能够通过从一套可利用的组份做出选择,从而成为标准模式,通过选择,能够达到系统要求的最小模式,OEM能够减少存储脚木和操作系统的运行。3.2 c/os近年来,随着微控制器性能的不断提高,嵌入式应用越来越广泛。目前市场上的大型商用嵌入式实时系统,如VERTEX,VXWORK, PSOS等等,己经十分成熟,并为用户提供了强有力的开发和调试工具。但商用嵌入式实时系统价格昂贵,而且都针对特定的硬件平台。对于国内中小型系统的开发,购买商用实时系统并不划算。此时,采用免费软件和开放代码不失为一种选择。目前源码开放(C代码)的嵌入式系统有c/os的uCLinux。c/os简单易学,提供了嵌入式系统的基木功能,其核心代码短小精悍,如果针对硬件进行优化,还可以获得更高的执行效率。但是c/os相对商用嵌入式系统来说还是过十简单,而且存在开发调试困难的问题。uCLinux是免费软件运动的产物,包含丰富的功能,包括文件系统、各种外调驱动程序、通讯模块、TCP/工P, PPP, HTTP,甚至WEB服务器的代码。在工NTERNET上流传的uCLinux己经被移植到当前几乎所有的硬件平台上,功能与PC机上运行的Linux不相上下,其代码也l一分复杂。完全移植没有必要也一分困难,但uCLinux的代码经过世界范围内的优化,稳定可靠而且高效,所有模块的代码都可以从工NTERNET上获得,可以进行模块移植。在应用中,我们可以在ColdFire硬件平台上运行了I C/OS的核心,并实现uCLinux的文件系统,使得在嵌入式应用中可以进行文件操作。同时针对I C/OS调试困难的问题。还移植了uCLinux的用户Shell,使得用户可以用命令行力一式进行程序的调试和开发。3.3 AndroidAndroid(读音:英:ndrd,美:ndrd),中文俗称安卓,是一个基于Linux内核的开放源代码移动操作系统,由Google成立的Open Handset Alliance(OHA,开放手持设备联盟)持续领导与开发,主要设计用于触屏移动设备如智能手机和平板电脑。3.3.1 Linux内核Linux内核(英语:Linux kernel),是一种计算机操作系统内核,以C语言和汇编语言写成,匹配POSIX标准,以GNU通用公共许可证发布。Linux内核最早是由芬兰黑客林纳斯托瓦兹为尝试在自己的英特尔x86架构计算机上提供自由免费的类Unix系统而开发的。该计划开始于1991年,林纳斯托瓦兹当时在Usenet新闻组comp.os.minix登载帖子,这份著名的帖子标示着Linux内核计划的正式开始。从技术上说Linux只是一个内核。“内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。一个内核并不是一套完整的操作系统。有一套基于Linux内核的完整操作系统叫作Linux操作系统,或是GNU/Linux(在该系统中包含了很多GNU计划的系统组件)。Liunx具有很高的可移植性,从移动电话到超级电脑,甚至于有人成功的将Linux内核在索尼出品的游戏机PS2及PS3和微软出品的游戏机Xbox上使用。Linux也是IBM超级计算机Blue Gene的操作系统。直至2011年11月,全球前五百大超级电脑(TOP500)有高达91.4%的比例采用Linux为它们的操作系统17。一些为手机开发的操作系统,使用Linux内核的修改后的版本,其中包括谷歌Android、Firefox OS、HP WebOS和诺基亚Maemo。3.3.2 Andorid系统的特点目前的Android操作系统具有以下几个功能:(1)显示布局:Android操作系统支持更大的分辨率,VGA,2D显示,3D显示都给予OpenGL ES 3.0标准规格(4.3版本开始支持OpenGL ES 3.0),并且支持传统的智能手机。(2)数据存储:Android操作系统内置SQLite小型关联式资料库管理系统来负责存储数据。(3)网络:Android操作系统支持所有的网络制式,包括GSM/EDGE、IDEN、CDMA、TD-SCDMA 、EV-DO、UMTS、Bluetooth、Wi-Fi、LTE、NFC和WiMAX。(4)信息:作为原设计给智能手机使用的操作系统,Android操作系统原生支持短信和邮件,并且支持所有的云信息和服务器信息。(5)语言:Android操作系统支持多语言。(6)浏览器:Android操作系统中内置的网页浏览器基于WebKit核心,并且采用了Chrome V8引擎。在Android 4.0内置的浏览器测试中,HTML5和Acid3故障处理中均获得了满分,并且于2.2版至4.0版之前能原生支持Flash,4.0版本后去除对Flash的支持。(7)支持Java:虽然Android操作系统中的应用程序大部分都是由Java编写的,但是Android却是以转换为Dalvik executables的文件在Dalvik虚拟机上运行的。由于Android中并不自带Java虚拟机,因此无法直接运行Java程序。不过Android平台上提供了多个Java虚拟机供用户下载使用,安装了Java虚拟机的Android系统可以运行Java_ME的程序。5.0版(Lolipop)开始以Android Runtime(ART)替换Dalvik虚拟机。(8)媒体支持:Android操作系统本身支持以下格式的音频/视频/图片媒体:WebM、H.263, H.264(in 3GP or MP4 container)、MPEG-4 SP、AMR, AMR-WB(in 3GP container)、AAC, HE-AAC(in MP4 or 3GP container)、MP3、MIDI、Ogg Vorbis、FLAC、WAV、JPEG、PNG、GIF、BMP。如果用户需要播放更多格式的媒体,可以安装其他第三方应用程序。(9)流媒体支持:Android操作系统支持RTP/RTSP(3GPP PSS, ISMA)的流媒体以及(HTML5 )的流媒体,同时还支持Adobe的Flash,在安装了RealPlayer之后,还支持苹果公司的流媒体。(10)硬件支持:Android操作系统支持识别并且使用视频/照片摄像头,多点电容/电阻触屏,GPS,加速计,陀螺仪,气压计,磁力仪(高斯计),键盘,鼠标,USB Disk,专用的游戏控制器,体感控制器,游戏手把,蓝牙设备,无线设备,感应和压力感测器,温度计,加速2D位位块传输(硬件方向,缩放,像素格式转换)和3D图形加速。(11)多点触控:Android支持本地的多点触控,在最初的HTC Hero智能手机上即有这个功能。该功能是内核级别(为了避免对苹果公司的触屏技术造成侵权)。(12)蓝牙:Android支持A2DP,AVRCP,发送文件(OPP),访问电话簿(PBAP),语音拨号和方送智能手机之间的联系。同时支持键盘,鼠标和摇杆(HID)。(13)多任务处理:Android操作系统支持本地的多任务处理。(14)语音功能:除了支持普通的电话通话之外,Android操作系统从最初的版本开始就支持使用语音操作来使用Google进行网页搜索等功能。而从Android 2.2开始,语音功能还可以用来输入文字、语音导航等功能。(15)无线共享功能:Android操作系统支持用户使用本机充当“无线路由器”,并且将本机的网络共享给其他智能手机,其他机器只需要通过WiFi查找到共享的无线热点,就可以上网。而在Android 2.2之前的操作系统则需要通过第三方应用或者其他定制版系统来实现这个功能。(16)截图功能:从Android 4.0开始,Android操作系统便支持截图功能,该功能允许用户直接抓取智能手机屏幕上的任何画面,用户还可以通过编辑功能对截图进行处理,还可以通过蓝牙/E-mail/微博/共享等方式发送给其他用户或者上传到网络上,也可以拷贝到电脑中。四、 c/os-II系统移植概述所谓移植就是使一个实时内核能够在其他微处理器或微控制器上运行26为了提高可移植性,大部分的c/os-II代码是用C语言写的,但仍需要汇编语言编写一些与处理器相关的代码,因为c/

温馨提示

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

评论

0/150

提交评论