您好,欢迎访问三七文档
摘要以嵌入式系统的日常应用引入,从嵌入式系统的定义与组成入手,对嵌入式系统的发展近况进行深入的介绍,介绍嵌入式软件技术的主要发展方向,并简要介绍了µc/os-II系统的移植。一、引言不论是日常生活中经常使用的家庭自动化产品、家用电器、手提电话、自动柜员机(ATM),还是各行各业的办公设备、现代化医疗设备、航空电子、计算机网络设备、用于工业自动化和监测的可编程逻辑控制器(PLCs),甚至是娱乐设备的固定游戏机和便携式游戏机等都属于嵌入式系统。嵌入式系统始于微型机时代的嵌入式应用,通过将微型机嵌入到一个对象体系中,实现对象系统的智能化控制。随着科技的不断发展,在单片机时代,嵌入式系统以器件形态迅速进入到传统电子技术领域中,以电子技术应用工程师为主体,实现传统电子系统的智能化。而后,随着后PC时代的到来,网络、通信技术得以发展;同时,嵌入式系统软、硬件技术有了很大的提升,形成了基于嵌入式系统软、硬件平台,以网络、通信为主的非嵌入式底层应用的计算机应用模式。嵌入式系统通常应用于消费类、烹饪、工业、自动化、医疗、商业及军事领域。在电信系统中,从网络级的电话交换机到手机终端都部署了大量的嵌入式系统;消费级电子产品诸如PDA、MP3、移动电话、游戏机、打印机等都部署了嵌入式系统。二、嵌入式系统的定义及组成嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软硬件可裁剪、适应应用系统,对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统区别于可以执行多重任务的通用型计算机,嵌入式系统是为某些特定任务而设计的。有些系统则必须满足实时性要求,以确保安全性和可用性;另一些系统则对性能要求很低甚至不要求性能,以简化硬件、降低成本。嵌入式系统主要由嵌入式微处理器、外围硬件、嵌入式操作系统以及用户的应用程序等4个部分组它是集软硬件于一体的可独立工作的“器件”,其中备成外围硬件设备和用户应用程序皆是基于不同的用户需求而有相应的不同的硬件及相关软件。2.1嵌入式微处理器嵌入式处理器大概可分为两类。一类是普通微处理器:使用独立的集成电路存储器和外设。另一类是单片机:具有片上外设,降低了功耗、尺寸和成本。嵌入式系统的软件是为某种应用定制的,而不是像个人计算机那样的由终端用户安装的商品,因此可以使用各种不同的基本CPU架构:既有范纽曼型架构也有不同程度的哈佛结构;既有RISC也有非精简指令集处理器;字长从4位到64位甚至更高,当然最典型的仍然是8/16位。多数架构由几家不同的公司生产,使用了大量不同的变量和类型。嵌入式系统也会使用通用型微处理器,但比单片机需要更多外围电路。2.2嵌入式操作系统嵌入式操作系统(EmbeddedOperatingSystem,EOS),负责嵌入系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动。嵌入式操作系统通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。随着科技的发展,无线网络的覆盖面积大大提高,移动类电子工具被广泛应用于生活、工作、科研等各个方面。手机无线上网、无线导航技术、无线地质探测仪、手持式售票刷卡设备等在生活中无处不在。而这些应用则主要涉及到嵌入式Web浏览器、嵌入式数据库、嵌入式GUI(GraphicalUserInterface,简称GUI,又称图形用户接口)系统。2.2.1嵌入式Web浏览器嵌入式Web浏览器是指嵌入式操作系统上使用的可供用户浏览网页的浏览器软件。由于嵌入式系统有其固有的存储容量小、处理器资源有限等特殊性,故其使用的Web浏览器/服务器不是一般的计算机上所使用的浏览器,而是专门针对嵌入式系统的相应的Web浏览器。较为常用的嵌入式Web浏览器有:基于WinCE的内嵌简化版IE、基于Linux的Konqueror-embedded、基于WM的AccessNetFront、通用平台的Opera浏览器、En-Reach的e-Browser,Mozilla的Monimo,除此以外还有WebKit,Browsex,Amaya和Ghostzilla等一些开源的浏览器引擎和浏览器。不同的浏览器适应于相应的嵌入式操作系统平台,具备不同的特性,在嵌入式系统多样化的今天,嵌入式浏览器具有分散性、多样性和变异性的特点。2.2.2嵌入式数据库与嵌入式移动数据库嵌入式数据库是指嵌入式系统中所使用的数据库系统。由嵌入式系统的特性决定,嵌入式数据有着内核小、性能高、可裁减、嵌入性、可移植性及功能齐备等特性。嵌入式数据库可分为嵌入数据库、小型的C/S结构数据库、移动数据库等。嵌入数据库大多仅仅基于嵌入式系统本机数据调用,不涉及到网络方面;小型的C/S结构数据库是企业级数据库的一个缩小版,缩小以后可以在一些实时性要求不高的设备内运行;嵌入式移动数据库是一种在移动环境下支持数据传送的分布式数据库,其数据传送在物理上是分散的而在逻辑上是集中的。当前主流的嵌入式数据库有:Oracle公司的BerkeleyDB,SybaseAdaptiveServerAnywhere,Linter以及SQLite等,除此以外还有ApacheDerby,H2,ESENT等嵌入式数据库引擎。2.2.3嵌入式GUI系统嵌入式GUI属于嵌入式编程开发,主要是为了更好地满足用户的需要而编写的用于实现客户与服务器端的交互操作界面。现在主流的嵌入式GUI系统大多集中在源码开放的Linux系统下,有Microwindows,MiniGUI,OpenGUI,Qt/Embedded等。三、常见的嵌入式操作系统3.1windowsCEWindowsCE是微软公司嵌入式、移动计算平台的基础,它是一个开放的、可升级的32位嵌入式操作系统,是基十掌上型电脑类的电子设备操作系统,它是精简的Windows95,WindowsCE的图形用户界而相当出色。WindowsCE作业系统是Window:家族中最新的成员,专门设计给掌上型电脑(HPCs)所使用的电脑环境。这样的作业系统可使完整的可携式技术与现有的Windows桌而技术整合工作。WindowsCE被设计成针对小型设备(它是典型的拥有有限内存的无磁盘系统)的通用操作系统,WindowsCE可以通过设计一层位十内核和硬件之间代码来用设定硬件平台,这即是众所周知的硬件抽象层(HAL)。不象其它的微软Windows操作系统,WindowsCE并不是代表一个标准的相同的对所有平台适用的软件。为了足够灵活以达到适应广泛产品需求,WindowsCE采用标准模式,这就意味着,它能够由一系列软件模式做出选择,从而使产品定制。另外,一些可利用模式也可作为其组成部分,这意味着这些模式能够通过从一套可利用的组份做出选择,从而成为标准模式,通过选择,能够达到系统要求的最小模式,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.3AndroidAndroid(读音:英:['ændrɔɪd],美:[ˈænˌdrɔɪd]),中文俗称安卓,是一个基于Linux内核的开放源代码移动操作系统,由Google成立的OpenHandsetAlliance(OHA,开放手持设备联盟)持续领导与开发,主要设计用于触屏移动设备如智能手机和平板电脑。3.3.1Linux内核Linux内核(英语:Linuxkernel),是一种计算机操作系统内核,以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超级计算机BlueGene的操作系统。直至2011年11月,全球前五百大超级电脑(TOP500)有高达91.4%的比例采用Linux为它们的操作系统[17]。一些为手机开发的操作系统,使用Linux内核的修改后的版本,其中包括谷歌Android、FirefoxOS、HPWebOS和诺基亚Maemo。3.3.2Andorid系统的特点目前的Android操作系统具有以下几个功能:(1)显示布局:Android操作系统支持更大的分辨率,VGA,2D显示,3D显示都给予OpenGLES3.0标准规格(4.3版本开始支持OpenGLES3.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核心,并且采用了ChromeV8引擎。在Android4.0内置的浏览器测试中,HTML5和Acid3故障处理中均获得了满分,并且于2.2版至4.0版之前能原生支持Flash,4.0版本后去除对Flash的支持。(7)支持Java:虽然Android操作系统中的应用程序大部分都是由Java编写的,但是Android却是以转换为Dalvikexecutables的文件在Dalvik虚拟机上运行的。由于Android中并不自带Java虚拟机,因此无法直接运行Java程序。不过Android平台上提供了多个Java虚拟机供用户下载使用,安装了Java虚拟机的Android系统可以运行Java_ME的程序。5.0版(Lolipop)开始以AndroidRuntime(ART)替换Dalvik虚拟机。(8)媒体支持:Android操作系统本
本文标题:嵌入式系统综述
链接地址:https://www.777doc.com/doc-5699240 .html