1、1,第1章 嵌入式系统概况,1.1 嵌入式系统的定义 嵌入式系统已经有了近40年的发展历史,它是硬件和软件交替双螺旋式发展的。 第一款微处理器是Intel的4004,它出现在1971年,然后是在80年代初,Intel又进一步完善了8048,在它的基础上研制成功了8051系列单片机。 1981年发展了世界上第1个商业嵌入式实时内核(VTRX32),其内部包含了许多传统操作系统的特征,包括任务管理、任务间通讯、同步与相互排斥、中断支持、内存管理等功能。随后,出现了如VxWorks、WinCE,嵌入式Linux,uCOS,以及国内的Hopen、Delta OS等嵌入式操作系统。今天RTOS(实时操作
2、系统)已经在全球形成了1个产业。,2,IEEE定义,什么是嵌入式系统:是将计算机硬件和软件结合起来,构成一个专门的计算装置,完成特定的功能和任务。它工作在一个与外界发生交互并受到时间约束的环境中,在没有人工干预的情况下进行实时控制。由于被嵌入对象的体系结构、应用环境要求不同,因此嵌入式系统可分为有许多种类。 根据IEEE(国际电气和电子工程师协会)的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”(原文为devices used to control, monitor, or assist the operation of equipment, machinery or pla
3、nts)。可以看出此定义是从应用上考虑的,嵌入式系统是软件和硬件的综合体,还可以涵盖机电等附属装置。,3,一般定义,“以应用为中心、以计算机技术为基础、软硬件可裁减,功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。” 嵌入式系统本身是一个相对模糊的定义。一个手持的MP3和一个PC104的微型工业控制计算机都可以认为是嵌入式系统。总之,嵌入式系统是采用“量体裁衣”的方式把所需的功能嵌入到各种应用系统中。,4,1.2 嵌入式系统的应用领域及发展趋势,1.2.1嵌入式系统的现状 随着信息化、智能化、网络化的发展,嵌入式系统技术也将获得广阔的发展空间。美国著名未来学家尼葛洛庞帝1999年1月访
4、华时预言,4-5年后嵌入式智能工具将是PC和Intel网之后最伟大的发明。 硬件方面,不仅有各大公司的微处理器芯片,还有用于学习和研发的各种配套的软件开发包。目前底层系统和硬件平台已经相对比较成熟,实现各种功能的芯片应有尽有。而且巨大的市场需求给我们提供了学习研发的资金和技术力量。,5,软件方面讲,也有相当多的成熟软件系统。国外的嵌入式实时操作系统公司有WindRiver、Microsoft、QNX和Nuclear等产品。我国自主开发的嵌入式系统软件产品,如科银京城(CoreTek)公司的开发平台DeltaSystem,中科院推出的Hopen嵌入式操作系统。读者可以在网上找到各种各样的免费资源
5、及各种驱动程序源代码。嵌入式系统技术的发展,大致经历了以下四个阶段:无操作系统阶段,如单片机。简单操作系统,如PowerPC.实时操作系统,如DSP。面向Internet阶段。,6,1.2.2 嵌入式系统的应用领域,工业控制、交通管理、信息家电、家庭智能管理系统、POS网络及电子商务、环境监测和机器人。ARM技术的IP和在下列领域已经取得了很大成功。 无线设备 无线设备(手机等)和PDA一类的无线设备中都采用了嵌入式技术。 消费电子 在数字音频播放器、数字机顶盒和游戏机等应用广泛。 汽车 包括驾驶、安全和车载娱乐等各种功能在内的设备采用五、六个微处理器统一实现。 事实上,嵌入式技术无处不在,计
6、算机技术也开始进入一个被称为后PC技术的春天。 嵌入式系统虽然是未来计算机科学的最要成员,但它并不能作为通用计算机的替代物。原因就是它的专用性。比如资源有限(存储能力、运算能力和I/O资源),没有非常友好的人机交互界面等。,7,我们不仅拥有那种放在桌上处理文档、进行工作管理和生产控制的计算机“机器”,而且一个普通人也可能拥有从大到小的各种使用嵌入式技术的电子产品:MP3、PDA、手机、智能玩具等;电子病历,数字血压仪,无线收费超市,物流,网络家电等;智能车载电子设备,安全监控、GPS、倒车雷达等;高级酒店,电话、TV、INTERNET、PLAY、EMAIL等。 在工业和服务领域中,大量嵌入式技
7、术也已经应用于工业控制、数控机床、智能工具、工业机器人、服务机器人等各个行业,正在逐渐改变着传统的工业生产和服务方式。飞机的电子设备,巴黎、东京、汉城等城市地铁买票系统。,8,嵌入式系统的应用领域示意图,嵌入式应用,信息家电,智能玩具,军事电子,通信设备,移动存贮,工控设备,智能仪表,汽车电子,网络设备,消费电子,军事国防,电子商务,网络,工业控制,9,goReader Internet eBook,Samsung AnyWebInternet Screen Phone,eRemoteIntelligent Home Controller,Tektronix TDS7000 Digital O
8、scilloscopes,Nixvue Digital AlbumDigital Photo Album,一些典型的嵌入式系统应用实例,10,嵌入式系统的应用,家用方面:数字电视、信息家电、智能玩具、手持通讯、存储设备的核心。,11,家庭智能管理系统,社区建筑的水、电、煤气表的远程自动抄表,安全防火、防盗系统,远程点菜器等。,12,社会发展方面:嵌入式Internet应用,13,汽车电子产品(18个嵌入式控制模块)CAN总线网络,VOLVO S80汽车的CAN总线网络,嵌入式应用汽车电子,14,2002年11月28日,以色列一选举投票点,发生枪击事件,造成至少7人死亡,数十人受伤。以警方用机器
9、人在检查一具巴勒斯坦枪手的尸体。,反恐防暴,15,产品介绍-掌上电脑,CPU:intel PXA255 400MHzFLASH:64MSDRAM:64MBluetouth影音Compact Flash电源管理红外线接口,16,宏观方面发展趋势: 经济性 计算机要很便宜,让更多的人能买得起; 小型化(笔记本、PDA)人们携带方便; 可靠性(汽车VCD,跳动问题)能够在一般环境条件下或者是苛刻的环境条件下运行; 高速度(飞机刹车系统)能够迅速地完成数据计算或数据传输; 智能性(知识推理、模糊查询、识别、感知运动)使人们用起来更习惯,对人们更有使价值。,1.2.3 嵌入式技术的发展趋势,17,未来嵌
10、入式系统的发展趋势,(1)嵌入式应用软件的开发需要强大的开发工具和操作系统的支持 嵌入式开发是一项系统工程,因此要求厂商不仅提供嵌入式软硬件系统本身,同时还需要提供强大的硬件开发工具和软件包支持。随着因特网技术的成熟、带宽的提高,各种嵌入式电子设备的功能不再单一,电气结构也更为复杂。为了满足应用功能的升级,设计师们一方面采用更强大的嵌入式处理器如32位、64位RISC芯片或信号处理器DSP增强处理能力;同时还采用实时多任务编程技术和交叉开发工具技术来控制功能复杂性,简化应用程序设计、保障软件质量和缩短开发周期。 目前,国外商品化的嵌入式实时操作系统,已进入我国市场的有WindRiver、Mic
11、rosoft、QNX和Nuclear等产品。我国自主开发的嵌入式系统软件产品如科银公司的软件开发平台DeltaSystem, 此外,中科院也推出了Hopen嵌入式操作系统。,18,(2)联网成为必然趋势,网络化、信息化的要求随着IntelNet技术的成熟、带宽的提高而日益提高,使得以往单一功能的设备如电话、手机、冰箱、微波炉等功能不再单一,结构更加复杂,功能更强。 为适应嵌入式分布处理结构和应用上网需求,面向21世纪的嵌入式系统要求配备标准的一种或多种网络通信接口。针对外部联网要求,嵌入设备必需配有通信接口,相应需要TCP/IP协议簇软件支持;由于家用电器相互关联(如防盗报警、灯光能源控制、影
12、视设备和信息终端交换信息)及实验现场仪器的协调工作等要求,新一代嵌入式设备还需具备IEEE1394、USB、CAN、Bluetooth或IrDA通信接口,同时也需要提供相应的通信组网协议软件和物理层驱动软件。为了支持应用软件的特定编程模式,如Web或无线Web编程模式,还需要相应的浏览器,如HTML、WML等。,19,(3)精简系统内核、算法,设备实现小尺寸、 微功耗和低成本,为满足这种特性,要求嵌入式产品设计者相应降低处理器的性能,限制内存容量和复用接口芯片。这就相应提高了对嵌入式软件设计技术要求。如,选用最佳的编程模型和不断改进算法,采用Java编程模式,优化编译器性能。因此,既要软件人员
13、有丰富经验,更需要发展先进嵌入式软件技术,如Java、Web和WAP等。 (4) 提供精巧的多媒体人机界面 嵌入式设备之所以为亿万用户乐于接受,重要因素之一是它们与使用者之间的亲和利,自然的人机交互界面,如司机操纵高度自动化的汽车主要还是通过习惯的方向盘、脚踏板和操纵杆。人们与信息终端交互要求以GUI屏幕为中心的多媒体界面。手写文字输入、语音拨号上网、收发电子邮件以及彩色图形、图像已取得初步成效。目前一些先进的PDA在显示屏幕上已实现汉字写入、短消息语音发布,但离掌式语言、同声翻译还有很大距离。,20,嵌入式系统的架构 嵌入式系统是由嵌入式处理器、存储器等硬件、嵌入式系统软件和嵌入式应用软件所
14、组成。,处理器,存储器,输入,输出,操作系统,应用程序,软件结构,硬件结构,1.3 嵌入式系统组成简介,21,嵌入式系统的组成,嵌入式系统的组成框架如下图所示。1)嵌入式系统硬件系统 嵌入式系统的硬件是以嵌入式处理器为核心,配置必要的外围接口部件。在嵌入式系统设计中,应尽可能选择适用于系统功能接口的SoC/SOPC芯片,以最少的外围部件构成一个应用系统,满足嵌入式系统的特殊要求。一般包括有 :嵌入式处理器; 存储器; I/O系统和外设2)嵌入式系统的软件系统包括 : 操作系统 应用软件嵌入式系统的开发工具(1)硬件开发工具包括 :仿真器等 ;其它(示波器等)(2)软件开发工具包括 :编译、连接
15、、定位软件,通常使用C语言;调试软件。,22,嵌入式系统的软/硬件框架,23,3)中间层 它将系统软件与底层硬件部分格里,使得系统的底层设备驱动程序与硬件无关。具体包括硬件抽象层HAL和板极支持包BSP。HAL是位于操作系统内核与硬件电路之间的接口层,其目的是将硬件抽象化,既可以通过程序来控制所有硬件电路入CPU、I/O、存储器等的操作,提高了系统的可移植性。HAL一般包含相关硬件的初始化、数据的输入输出操作硬件设备的配置操作等功能。4)应用层 BSP介于主板硬件和操作系统中驱动程序曾程序之间,一般认为它属于操作系统的一部分,主要是先对操作系统的支持,为上层的驱动程序提供访问硬件设备寄存器函数
16、包,方便主板运行。BSP一般实现1)系统启动是完成对硬件的初始化;2)为驱动程序提供访问硬件的手段,即为上层的驱动程序提供访问硬件设备寄存器的函数包。,24,嵌入式系统组成原理架构,25,1.3.1 嵌入式系统的重要特征,(1)系统内核小 嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。 由于嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多。比如ENEA公司的OSE分布式系统,内核只有5K,而Windows的内核则要大得多。,26,(
17、)专用性强嵌入式CPU与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植。即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。同时针对不同的任务,往往需要对系统进行较大更改,程序的编译下载要和系统相结合,这种修改和通用软件的“升级”是完全不同的概念。,27,一个嵌入式系统通常只能重复执行一
18、个特定的功能,例如一台寻呼机永远是寻呼机;而台式系统可以执行各种程序,如电子数据表、字处理和游戏,还经常加入其他新程序。当然也有例外:一种情况是嵌入式系统中的程序的新版本程序更新,例如,有些手机(移动电话)就是这样更新的;另一种情况是,由于系统大小的限制,使得几个程序只能轮流输入到系统中,例如,有些导弹在巡航模式下执行一个程序,在锁定目标时又执行另一个程序。即便如此,这些嵌入式系统仍只具有特定的功能。,28,嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。这是嵌入式软件的基本要求,而且软件要求固态存储,以提高
19、速度。软件代码要求高质量和高可靠性、实时性。很多嵌入式系统都需要不断地对所处环境的变化做出反应,而且要实时地得出计算结果,不能延迟。()高效率地设计嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。 嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力。,()系统精简和高实时性OS,29,(5)创新性和有效性 嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因
20、此嵌入式系统产品一旦进入市场,具有较长的生命周期。 为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。 (6)嵌入式软件开发走向标准化 嵌入式系统的应用程序可以没有操作系统直接在芯片上运行。 为了合理地调度多任务、利用系统资源、系统函数以及和专家库函数接口,用户必须自行选配RTOS(RealTime Operating System)开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。,30,(7)嵌入式系统开发需要开发工具和环境由于其本身不具备自主开发能力,即使设计完成以后,用户通常也是不能对其中的程序功
21、能进行修改,必须有一套开发工具和环境才能进行开发。这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。开发时往往有宿主机和目标机的概念,宿主机用于程序的开发,目标机作为最后的执行机,开发时需要交替结合进行。,31,嵌入式系统的特点,采用32位RISC嵌入式微处理器和实时操作系统组成的嵌入式控制系统,与传统基于单片机的控制系统和基于PC的控制方式相比,具有以下突出优点:性能方面:采用32位RISC结构微处理器,主频从30MHz到1200MHz以上,处理能力大大超出单片机系统,接近PC机的水平,但体积更小,能够真正地“嵌入”到设备中; 实时性方面:嵌入式机控制器内
22、嵌实时操作系统(RTOS),能够完全保证控制系统的强实时性;人机交互方面:嵌入式控制器可支持大屏幕的液晶显示器,提供功能强大的图形用户界面,这方面与PC机相比略要逊色一些;,32,系统升级方面:嵌入式控制器可为控制系统专门设计,其功能专一,成本较低,而且开放的用户程序接口(API)保证了系统能够快速升级和更新。 通常是面向特定应用的;空间和各种资源相对不足,必须高效率地设计,量体裁衣、去除冗余; 产品升级换代和具体产品同步,具有较长的生命周期; 软件一般都固化在存储器芯片; 不具备自举开发能力 ,必须有一套开发工具和环境才能进行开发,33,嵌入式系统与单片机、PC机的区别,嵌入式系统 单片机系
23、统,目前嵌入式系统的主流是以32位嵌入式微处理器为核心的硬件设计和基于实时操作系统(RTOS)的软件设计;单片机系统多为4位、8位、16位机,它们不适合运行操作系统,难以进行复杂的运算及处理功能;嵌入式系统强调基于平台的设计、软硬件协同设计,单片机大多采用软硬件流水设计;嵌入式系统设计的核心是软件设计(占70%左右的工作量),单片机系统软硬件设计所占比例基本相同。,34,嵌入式系统与PC之间的区别,嵌入式系统一般是专用系统,而PC是通用计算平台;嵌入式系统的资源比PC少得多;软件故障带来的后果比PC机大得多;嵌入式系统一般采用实时操作系统;有成本、功耗的要求;得到多种微处理体系的支持;需要专用
24、的开发工具。 通用计算机系统要求的是高速、海量的数值运算。在技术发展上追求总线速度不断提升、存储容量不断扩大。而嵌入式计算机系统要求的是对象体系的智能化控制能力,在技术发展方向追求对特定对象系统的嵌入性、专用性和智能化。这种技术发展的分歧导致20世纪末计算机进入了两大分支并行发展的时期,人们称之为后PC机时代。,35,嵌入式系统一般包括硬件和软件两部分: 硬件包括处理器微处理器、存储器及外设器件和IO端口、图形控制器等。 软件部分包括操作系统软件(OS)(要求实时和多任务操作)和应用程序编程。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。 值得注意的是嵌入式系统
25、中的系统程序和应用程序一般是浑然一体的,这些程序被编译连接成一个可以执行的二进制映象文件,最后被固化在目标系统当中,在目标系统复位后会自动执行。如果在做嵌入式系统开发的过程中应注意,也就是说嵌入式开发系统和实际运行系统并不完全相同,开发的时候是需要交叉编译系统和适当的调试环境的。,36,1.3.2典型嵌入式系统的硬件组成,37,1.3.2.1 嵌入式系统基本硬件架构,嵌入式系统基本硬件架构主要包括有处理器、外围电路及接口和外部设备三大部分。其中外围电路一般包括有时钟、复位电路、程序存储器、数据存储器和电源模块等部件组成。外部设备一般应配有USB、显示器、键盘和其他等设备及接口电路。硬件架构的核
26、心部件是微处理器。 在一片嵌入式微处理器基础上增加电源电路、时钟电路和存储器电路(ROM和RAM等),就构成了一个嵌入式核心控制模块。其中操作系统和应用程序都可以固化在ROM中。,38,嵌入式系统的核心是嵌入式处理器,嵌入式处理器一般就具备以下4个特点:对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核的执行时间减少到最低限度。具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。可扩展的处理器结构,以能最迅速地开发出满足应用的最高性能的嵌入
27、式微处理器。嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中,靠电池供电的嵌入式系统更是如此,如需要功耗只有mW或W级。,1.3.2.2 嵌入式处理器简介,39,嵌入式处理器分类,40,(1)嵌入式微控制器,嵌入式微控制器的典型代表是单片机,这种位的电子器件目前在嵌入式设备中仍然有着极其广泛的应用。目前通常使用单片机芯片内部集成FlachROM 、RAM、总线、总线逻辑、定时/计数器、看门狗、I/O、串行口、脉宽调制输出等必要功能和外设。由于MCU低廉的价格,优良的功能,所以拥有的品种和数量最多。并且还有支持I2C、CAN-Bus、LCD、A/D和D/A及众多专用MC
28、U和兼容系列。比较有代表性的8位通用系列单片机是MCS-51系列等,16位的通用单片机有MSP430系列等。,41,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。 微控制器目前在工业中的应用还是很多,由于适合于控制,因此称为微控制器。,42,(2)嵌入式DSP处理器,DSP(Digital Signal Processor )处理器是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,支持复杂指令集去完成信号信号处理计算。在对信号采集、变换、数字滤波、频谱分析、估值、增强、压缩和识别的处理上,DSP获得了大规模的应用。DSP的理论算法在70年代
29、就已经出现,但是由于专门的DSP处理器还没出现,所以这种理论算法只能通过MPU等来实现。 1982年世界上诞生了首枚DSP芯片,在语音合成和编码解码器中得到了广泛应用。 DSP的运算速度进一步提高,应用领域也从上述范围扩大到了通信和计算机方面。目前最为广泛应用的嵌入式DSP处理器是TI的TMS320C2000/C6000系列。现在DSP处理器已得到了快速的发展和应用,特别是在运算量较大的智能化系统中。例如,各种带有智能逻辑的消费产品、生物信息识别终端、带加密算法的键盘、实时语音压缩和解压系统、虚拟现实显示等。,DSP具有处理速度快,灵活,精确,抗干扰能力强,体积小等优点。已经成为一个新的技术领
30、域,形成了有潜力的产业和市场。目前,国际上DSP的供货商有以下几大公司:TI(德州公司)、ADI公司、AT&T公司。,DSP处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高DSP应用正从在通用单片机中以普通指令实现DSP功能,过渡到采用嵌入式DSP处理器。,嵌入式DSP处理器,44,EMPU(或MPU)嵌入式微处理器是由通用计算机中的CPU演变而来的。与计算机处理器不同的是,在实际嵌入式应用中,只保留和嵌入式应用紧密相关的功能硬件,去除其他的冗余功能部分,这样就以最低的功耗和资源实现嵌入式应用的特殊要求。功能与和标准微处理器基本类似,在工作温度、
31、抗电磁干扰、可靠性等方面一般都做了各种增强。与工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点。与单片机相比,功能更为强大。主流芯片ARM 、Am186/88、Power PC、68000、MIPS系列等。,(3)嵌入式微处理器(Embedd Micro Processor Unit),45,ARM 2410,三星公司S3C2410的最小系统提供Linux系统内核系统稳定工作在202MHz主频上模块包括64MB SDRAM、16128MB flash模块给出了S3C2410几乎所有的信号,32位的数据总线,保留充分扩展空间为嵌入式技术爱好者提供了一个廉价的中高端平台
32、科研人员高效的开发工具,46,SoC技术是一种高度集成化、固件化的系统集成技术。其核心思想就是要把整个应用电子系统全部集成在一个芯片中。如将ARM RISC、MIPS RISC、DSP等微处理器核,加上一些通用的接口单元集成在一起。如信号采集、转换、存储、处理等功能模块,通用串行端口(USB),TCP/IP通信单元、GPRS通信接口、GSM通信接口、IEEE1394、蓝牙模块接口等等。这些单元以往都是依照各单元的功能做成一个个独立的处理芯片。SoC是追求产品系统最大包容的集成器件, SOC最大的特点是成功实现了软硬件无缝结合,直接在处理器片内嵌入操作系统的代码模块。,(4)嵌入式片上系统(Sy
33、stem On Chip),47,嵌入式片上系统(SOC)结构图,48,由于SOC往往是专用的,将在声音、图像、影视、网络及系统逻辑等应用领域中发挥重要作用。SoC微处理器所具有的其他好处可以分为下列几点: 利用改变内部工作电压,降低芯片功耗;减少芯片对外管脚数,简化制造过程;减少外围驱动接口单元及电路板之间的信号传递,可以加快微处理器数据处理的速度;内嵌的线路可以避免外部电路板在信号传递时所造成系统杂讯。 SOC是成功实现了软硬件无缝结合,直接在处理器片内嵌入操作系统的代码模块。在一个硅片内部运用VHDL等硬件描述语言,实现一个复杂的系统。用户不再向传统的系统设计那样,绘制电路板和焊接元件,
34、只需使用编程语言,综合时序设计直接在其间调用各种通用处理器的标准,然后通过仿真之后就可交付芯片厂商进行生产。故其减小了体积和功耗,而且提高了系统的可靠性和设计生产效率。SOC也将在声音、图像、影视、网逻辑系统逻辑等应用领域发挥重要作用。,49,1.3.3 嵌入式 系统的软件组成,嵌入式系统的软件包括嵌入式操作系统和相应的各种应用程序。 嵌入式操作系统 通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。具有编码体积小,面向应用,可裁剪和移植,实时性强,可靠性高,专用性强等特点。相应的各种应用程序 嵌入式系统的开发工具和开发系统 开发工具一般用于开发主机
35、(如微机),包括语言编译器、连接定位器、调试器等。嵌入式系统的开发平台一般有4部分组成:硬件平台、操作系统、编程语言和开发工具。 注意:嵌入式系统的硬件和软件位于嵌入式系统产品本身,开发工具则独立于嵌入式系统产品之外 。,50,操作系统的分类方法,1)按其应用对象不同,有如下4类: (1)基于Windows兼容,可包括有WindowsCE、嵌入式Linux等; (2)工业和通信类,包括有VxWorks、Psos、QNX等; (3)单片机类,包括有uC/OS、CMX、iRMX; (4)面向Intelnet类包括有Plam、Visor、Hopen、PPSM。,51,2)依据操作系统的类型划分,有2
36、种形式 而嵌入式系统的软件主要有实时系统和分时系统(非实时系统)两大类。其中实时系统又分为硬(强)实时和软(弱)实时系统。 (1)实时操作系统:系统内有多个程序运行,每个程序有不同的优先级,只有最高优先级的任务才能占有CPU的控制权。(2)分时操作系统:系统内同时可以有多个程序运行,把CPU的时间分按顺序分成若干片,每个时间片内执行不同的程序,如UNIX。(3)顺序执行系统:系统内只含有一个程序,独占CPU的运行时间,按语句顺序执行该程序,直至执行完毕,另一程序才能启动运行。如DOS操作系统。,52,实时嵌入式系统是为执行特定功能而设计的,可以严格地按时序执行功能。其最大的特征就是程序的执行就
37、有确定性。 具体可分为三种形式: 具有强(硬)实时特点的嵌入式操作系统在实时系统中,如果系统在指定的时间内未能实现某个确定的任务,会导致系统的全面失败,则系统被称为硬(强)实时系统。硬实时系统,其系统响应时间在毫秒或微秒级(数控机床)。一个硬实时系统通常在硬件上需要添加专门用于时间和优先级管理的控制芯片, uc/os和VxWorks是典型的实时操作系统。 具有弱(软)实特点的嵌入式操作系统在软实时系统中,虽然响应时间同样重要,但是超时却不会发生致命的错误。软实时系统则主要在软件方面通过编程实现现实的管理。比如Windows CE、uCLinux是一个多任务分时系统。一般软实时系统,其系统响应时
38、间在毫秒或几秒的数量级上,其实时性的要求比强实时系统要差一些(电子菜谱的查询)。 没有实时特点的嵌入式操作系统,3)按实时性分类,53,4)按经济上分类 大体上分为2种-商用型和免费型。 (1)商用型的实时操作系统功能稳定、可靠,有完善的技术支持和售后服务,但价格昂贵。比如有VxWorks、Windows Embedded、Psos、Palm、OS-9、LynxOS和QNX等。 (2)免费型的在价格方面具有优势,目前主要有Linux和uC/OS。但不可靠,无技术咨询。,54,(1)循环轮询系统:(Polling Loop)最简单的软件结构是循环轮询,程序依次检查系统的每一个输入条件,一旦条件成
39、立就进行相应的处理。Initialize()While(true) if(condition_1) action_1(); if(condition_2) action_2(); if(condition_n) acition_n();,5)按软件结构分类,55,(2)事件驱动系统:(Event-Driven system)事件驱动系统是能对外部事件直接响应的系统。它包括前后台、实时多任务、多处理器等,是嵌入式实时系统的主要形式。应用程序是一个无限的循环,循环中调用相应的函数完成相应的操作,这部分可以看成后台行为(background)。中断服务程序处理异步事件,这部分可以看成前台行为(foreground)。后台也可以叫做任务级,前台也叫中断级。例如,很多基于微处理器的产品采用前后台系统设计,如微波炉、电话机、玩具等。从省电的角度出发,平时微处理器处在停机状态,所有的事都靠中断服务来完成。,