1、1,嵌入式软件导论 中科院软件中心 张倪,地址:北京中关村南4街4号 邮编:100080 电话:62629965 手机:13911316708 电子信箱:,2,教学参考书,钟锡昌、张倪,嵌入式软件与Hopen系统,北京航空航天大学出版社,2004.6,3,课程考核,中间两次练习 最后一次闭卷考试 课程考核成绩=两次练习成绩+闭卷考试成绩,4,课程内容,第1章:嵌入式软件概述 第2章:嵌入式操作系统 第3章:嵌入式系统的软件开发环境 第4章:嵌入式网络系统 第5章:嵌入式数据库管理系统 第6章:嵌入式窗口系统 第7章:嵌入式系统的Java平台,5,1 嵌入式软件概述,主要的内容包括: (1) 嵌
2、入式系统的概念与特点 (2) 嵌入式软件的概念与特点 (3) 嵌入式软件的组成 (4) 嵌入式软件的发展历程 (5) 嵌入式软件的应用领域,6,1.1 嵌入式系统的概念与特点,7,1.1.1 什么是嵌入式系统,嵌入式系统也叫嵌入式计算机,我们可对它做如下的定义:嵌入式系统是指那些以应用为中心,以计算机技术为基础,为适应应用对功能、可靠性、成本、体积、功耗的严格要求,可对系统的软件和硬件进行配置的专用计算机系统。,8,嵌入式系统的组成,外部设备是嵌入式系统与外部相交互的通道。常见的外部设备有Flash卡之类的外部存储设备和键盘、输入笔、LCD之类的输入输出设备。在很多嵌入式系统中还带有与系统的用
3、途紧密相关的专用外部设备。,存储器用于存储系统中的程序代码和数据。在嵌入式系统中,存储器有3种类型:RAM、ROM及混合存储器。RAM家族中有两个成员:静态RAM(SRAM)和动态RAM(DRAM)。ROM家族中有三个成员:掩膜ROM、可编程ROM(PROM)、擦写可编程ROM(EPROM)。混合存储器的主要成员有:EEPROM、NVRAM(Non Volatile RAM)和Flash存储器。混合存储器的特点是既能随意读写,又能在断电后保持数据不丢失。,中央处理器是嵌入式系统的核心,它负责控制整个系统的执行。当然,中央处理器要达到控制整个系统的目的,还需要得到其它外围电路的配合才行,不过在多
4、数嵌入式系统的专用芯片上,中央处理器与外围控制电路是集成在一起的。,嵌入式系统中的软件分为3个层次:操作系统、支撑软件和应用软件。其中操作系统和支撑软件是基础。应用软件则是最能体现整个嵌入式系统的特点和功能的部分。,9,1.1.2 计算机技术的两大分支,计算机系统可分为通用计算机系统和嵌入式系统两类。它们二者是现代计算机技术发展的两个分支。这两个分支有着不同的技术要求与技术发展方向。 通用计算机系统的技术要求是高速的数值计算能力、海量的存储能力;技术发展方向是速度的无限提升,存储容量的无限扩大。而嵌入式计算机系统的技术要求则是对嵌入对象进行智能控制的能力;技术发展方向是与嵌入对象密切相关的性能
5、要求与可靠性要求。,10,在嵌入式系统发展的初期,它的影响力和应用面都远不如现在大,主要是用在工业控制领域和军事领域,而且离普通人的日常生活很远。所以在那时把嵌入式系统看作为与通用计算机系统相并列的一类系统,有人可能会持有不同的意见。,11,自从上一世纪90年代中期以来,对嵌入式系统的研究与应用得到了长足的发展。这时它已不再是仅和少数专业人员有联系,而是已和千百万普通人的日常生活息息相关。上面所列举的手机、MP3播放器就都是经常不离我们左右的嵌入式系统。数量上讲,嵌入式系统已经远大于通用计算机系统。用于研发嵌入式系统的费用,嵌入式系统所创造的产值也都日益与通用计算机系统相接近。在这种条件下,已
6、经不会有人反对把嵌入式看作是一类与通用计算机系统相并列的系统。,12,1.1.3 嵌入式系统的特点,1. 系统专用性强 2. 系统实时性高 3. 硬件与软件的互相依赖性强 4. 采用专用的嵌入式CPU 5. 多种技术间结合更加紧密 6. 系统对用户透明 7. 系统资源有限,13,1. 系统专用性强,嵌入式系统是针对具体应用的专用系统。它的个性化很强,软件和硬件的结合非常紧密,一般要针对硬件进行软件的开发或移植,即使在同一品牌、同一系列的产品中,也需要根据系统硬件的变化和增减对软件进行修改。对不同的任务,往往需要对软件进行较大更改。 由于嵌入式系统总是用来完成某一特定任务,整个系统与具体应用是有
7、机地结合在一起的,升级换代也以更新整个产品的方式进行,因此一个嵌入式系统的产品一但进入市场,一般具有较长的生命周期。,14,2. 系统实时性高,实时系统指对外来事件能在限定的时间内做出反应的系统。嵌入式系统中的相当一部分是实时系统,高实时性是这些系统的基本要求。,15,3. 硬件与软件的互相依赖性强,嵌入式系统的专用性决定了它的硬件与软件的相互依赖性很强。两者应共同进行设计,以求达到共同完成预定功能的目的,并满足性能、成本和可靠性方面的要求。,16,4. 采用专用的嵌入式CPU,嵌入式系统的CPU与通用计算机的最大不同之处是嵌入式系统的CPU一般是为某一特定用户群专门设计的。它通常都具有功耗低
8、、体积小、集成度高等一系列特点,能够把许多在通用计算机上由板卡完成任务集成在芯片内部,从而有利于嵌入式系统的小型化,和移动能力的增强。,17,5. 多种技术间结合更加紧密,嵌入式系统是计算机技术、半导体技术、电子技术、机械技术与各个行业的具体应用相结合的产物。通用计算机系统虽然也离不开上述这些技术,但它们相互结合的紧密程度要不如嵌入式系统。,18,6. 系统对用户透明,嵌入式系统的外型与通用计算机系统有很大的不同。它的输入装置可能不是键盘、鼠标之类的设备。有的嵌入式系统可能就没有用来输出的显示装置。用户可能根本不知道他所使用的设备中有一个嵌入式计算机系统存在。即使知道他也不会去关心这个计算机系
9、统的设计细节,更不会、也不能去改变它。,19,7. 系统资源有限,嵌入式系统为了达到结构紧凑,坚固可靠和尽可能降低系统成本的目的,导致其存储容量和CPU的处理速度都比较有限。,20,1.1.4 嵌入式系统的类型,嵌入式系统的分类方法: 按嵌入方式分类 按嵌入程度分类 按实时性分类 按系统复杂程度分类,21,按嵌入方式分类,整机式嵌入的嵌入式系统 部件式嵌入的嵌入式系统 芯片式嵌入的嵌入式系统,22,1. 整机式嵌入,整机式嵌入是将一个带有专用接口的计算机嵌入到一个系统中,使其成为这个系统的核心部分。一般来说,这种计算机系统的功能完整而且比较强,有较完善的人机界面和外部设备。作用是完成系统中的关
10、键工作。例如,指挥火控系统就属于这一类。,23,2. 部件式嵌入,部件式嵌入将计算机系统以部件的方式嵌入到设备中,用以完成某一处理功能。这种方式使计算机部件与其它硬件耦合的更加紧密,功能更专一。雷达的数字信号处理部件采用的就是这种嵌入方式。,24,3. 芯片式嵌入,芯片式嵌入是将一个具有完整计算机功能的芯片嵌入到设备中。这种芯片上具有存储器和完整的输入/输出接口,能完成专门的功能。显示控制器、微波炉控制器等采用的就是这种嵌入方式。,25,按嵌入程度分类,深度嵌入的嵌入式系统 中度嵌入的嵌入式系统 浅度嵌入的嵌入式系统,26,1. 深度嵌入的嵌入式系统,深度嵌入的嵌入式系统指那些不易察觉其中有计
11、算机存在的系统。这种系统对于资源和性能有严格的要求。,27,2. 中度嵌入的嵌入式系统,中度嵌入的嵌入式系统在形态上与通用计算机已没有共同之处,没有与键盘和鼠标相等价的输入装置,也没有与显示器相类似的显示装置,但嵌入式系统的使用者可以明显地感觉到设备中有起控制作用的计算机部件。,28,3. 浅度嵌入的嵌入式系统,浅度嵌入的嵌入式系统与通用计算机有很多的类似之处。其外表也很像一台“计算机”。在系统之中一般有类似于键盘和鼠标的输入装置,和类似于显示屏幕的输出装置。浅度嵌入的系统一般具有一定的通用性。PDA就是一种典型的浅度嵌入的嵌入式系统。,29,按是否为实时系统分类,实时嵌入式系统 非实时嵌入式
12、系统,30,1. 实时嵌入式系统,实时嵌入式系统指那些产生系统输出的时间对于系统来说至关重要的嵌入式系统。这种系统对输入的处理必须在时间上与输入相同步,即必须能对输入事件在限定的时间内做出反应。对于实时嵌入式系统来说,如果在一定的时间之内未能对某个输入及时地予以处理,就会导致系统失效,甚至全面崩溃。,31,2. 非实时嵌入式系统,非实时的嵌入式系统对输入事件是否能在限定的时间内予以处理要求不是非常严格,甚至根本没有要求。,32,按复杂程度分类,单微处理器嵌入式系统 组件式嵌入式系统 分布式嵌入式系统,33,1. 单微处理器嵌入式系统,单微处理器嵌入式系统的规模一般很小。它所控制的对象比较简单。
13、控制这些对象既不需要很强的处理能力,也不需要复杂的算法,因此控制部件可以采用较低档的处理器和较少的存储器,价格也比较低廉。,34,2. 组件式嵌入式系统,组件式嵌入式系统一般是一个组成规模很大的系统。在这个系统中起控制作用的计算机装置是整个系统的一个局部组件。它输入系统的传感器收集到的数据,并进行处理,然后输出用于对系统进行控制的信号,或将输出传递给系统的操作人员。在组件式嵌入式系统中,计算机装置处理能力一般比较强,而且还经常用到一些比较复杂的控制算法和数据库等一些功能很强的支撑软件。电话交换机、电梯、数据采集系统、医疗监视系统就都属于组件式嵌入式系统。,35,3.分布式嵌入式系统,分布式嵌入
14、式系统由多个各自都具有处理能力的设备所组成。各设备上的处理器用通信线路连接起来。连接的方式可以是通过高速线路所构成的紧耦合型,也可以是通过低速线路所构成的松耦合型。例如,自动仓储系统就是一种分布式嵌入式系统。,36,1.1.5 嵌入式系统的处理器,嵌入式微处理器 嵌入式微控制器 嵌入式DSP处理器 嵌入式片上系统,37,1. 嵌入式微处理器,嵌入式微处理器(Embedded Micro Processor Unit,EMPU)由通用计算机中的CPU演变而来,但与通用计算机所不同的是,嵌入式微处理器是装配在专门设计的电路板上,这种电路板只保留了和嵌入式应用有关的功能,而去掉了那些不必要的部分,这
15、样可以大幅度缩小系统的体积和功耗。,38,嵌入式微处理器虽然在功能上和普通的微处理器基本是一样的,但它有体积小、功耗低、重量轻、成本低、可靠性高的优点。嵌入式微处理器和ROM、RAM、总线接口、外设接口等部件是安装在一块电路板上。 目前,嵌入式微处理器主要有386EX、SC-400、POWER PC、68000、MIPS、ARM等系列。,39,2. 嵌入式微控制器,嵌入式微控制器(Embedded Micro Controller Unit,EMCU)又称单片机,顾名思义,就是将整个计算机系统集成到一块芯片中。嵌入式微控制器一般以某一种微处理器内核为核心、芯片内部集成有ROM/EPROM、RA
16、M、总线逻辑、定时/计数器、Watch-Dog、串行口、A/D、D/A、Flash存储器、EEPROM等各种必要功能和外设。为适应不同的应用需求,一个系列的单片机一般都具有多个衍生产品。每个衍生产品的内核都是一样的,不同的是存储器和外设的配置及封装。这样可以使单片机最大限度地和应用需求相匹配,功能不多不少,从而减少功耗和成本。,40,和嵌入式微处理器相比,嵌入式微控制器的最大特点是单片化,从而使体积减小,功耗和成本下降,可靠性提高。微控制器是目前在嵌入式系统中使用最多的处理器。它上面外设资源一般比较丰富,适合用于控制方面,因此称为微控制器。 目前,嵌入式微控制器的品种和数量非常多,约占嵌入式系
17、统70的市场份额。比较有代表性的通用系列包括8051、P51XA、MCS-251、MCS-96/196/296、MC68HC05/11/12/16、68300、C166/167等。另外还有许多半通用的系列。例如,用于支持USB接口的MCU 8XC930/931、C540、C541,及其用于支持I2C、现场总线、LCD的各种微控制器。,41,3.嵌入式DSP处理器,嵌入式DSP处理器(Embedded Digital Signal Processor,EDSP)是一种专门用于信号处理的处理器。这种处理器对系统结构和指令进行了特殊设计,使得它更适合于执行DSP算法,编译的效率和指令执行的速度也较高
18、。DSP算法的理论在20世纪70年代就已基本成熟,但由于那时专门的DSP处理器还未出现,所以只能在通用的微处理器上实现DSP算法,因而效率很低。1982年世界上诞生了第一枚DSP处理器。在信号处理方面,它的运算数度比一般的处理器快了几十倍。目前DSP处理器在嵌入式系统中应用的已很广泛。例如,数字滤波、快速傅立叶变换(Fast Fourier Transform,FFT)等。,42,嵌入式DSP处理器有两个发展来源:一是对DSP处理器进行单片化,增加片上外设,使之成为嵌入式DSP处理器。TI的TMS320C2000/C5000等属于此类。二是在通用单片机或SOC上增加DSP协处理器,使之成为嵌入
19、式DSP处理器。Intel的MCS-296和西门子的TriCore则属于这一类。嵌入式系统的智能化也是推动嵌入式DSP处理器发展的一个原因。例如,各种带有智能逻辑的消费类产品、生物信息识别终端、带有加解密算法的键盘、ADSL接入器、实时语音压缩和解压系统、虚拟现实显示装置等就都是有不同程度智能的嵌入式系统。这类系统上的智能化算法一般都运算量较大,而且向量运算较多,这些恰好是DSP处理器的长处所在。,43,嵌入式DSP处理器的代表性产品是Texas Instruments公司的TMS320系列和摩托罗拉公司的DSP56000系列。TMS320系列又分为若干个子系列,包括C2000系列,用于移动通
20、信设备的C5000系列,以及性能更高的C6000和C8000系列。DSP56000系列则分为DSP56000、DSP56100、DSP56200和DSP56300等几个不同的子系列。,44,4. 嵌入式片上系统,嵌入式片上系统(Embedded System On Chip,ESOC)是一种在一块硅片上就实现一个很复杂系统的芯片。在嵌入式片上系统中集成了许多功能模块,比如说集成了微处理器核心和USB、TCP/IP、GPRS、GSM、IEEE 1394、蓝牙等通信接口单元。以往这些单元都是依照各单元的功能做成一个个独立的处理芯片,比如说一个带蓝牙接口的系统,就是将蓝牙接口芯片和嵌入式微处理器做在
21、一个电路板上。这种方法会耗费许多的电路空间,而且经济成本也比较高。若是将嵌入式微处理器与蓝牙通信接口单元做在同一个芯片之中,构成一个嵌入式片上系统,就会大幅度地缩小整个系统所占的体积和降低系统的复杂度。在大量生产的情况之下,生产成本也会远低于原本需要使用几个芯片组成的电路系统。,45,嵌入式片上系统可以分为通用和专用两类。通用类的主要产品有摩托罗拉的M-Core、某些ARM系列的器件等。专用类的嵌入式片上系统一般是针对于某个或某类系统而设计,不为一般用户所知,一个有代表性的产品是飞利浦的Smart XA。它将XA单片机的内核和支持RSA算法的单元制作在一块硅片上,形成一个可加载Java或C语言
22、的专用的嵌入式片上系统,可用于网络安全等方面。,46,1.2 嵌入式软件的概念与特点,嵌入式软件指运行于嵌入式计算机系统之上的软件。在嵌入式系统发展的初期,它的种类很少,规模也很小,基本上是硬件的附属品。随着嵌入式系统的应用的发展,特别是随着后PC时代的到来,嵌入式软件的种类和规模都得到了极大的发展,形成了一个完整独立的软件体系。,47,嵌入式软件的特点,系统精简 标准化程度相对较低 开发工作难度大 实时性强 软件开发与硬件开发往往同步进行 要求固化存储 可靠性要求更高,48,1. 系统精简,由于嵌入式系统的资源一般比较有限,所以嵌入式软件必须尽可能的精简才能适应这种状况。另一方面,由于嵌入式
23、系统的功能比较专一,不需要考虑很多通用性的功能,所以也为系统的简化提供了必要的条件。系统精简不但使嵌入式软件可以在资源有限的硬件环境中运行,同时也有利于控制系统成本,和提高系统的安全性。例如,ENEA公司的OSE操作系统的内核只有5KB,这比而MS Windows系统的内核的尺寸要小得多。,49,2. 标准化程度相对较低,来自多方面的原因使嵌入式软件的标准化工作相对比较滞后,对应用造成了一定的影响。例如,现场总线就需要,而恰恰没有一个统一的标准规范。,50,3. 开发工作难度大,嵌入式系统的特点使得其软件受到时间和空间的严格限制,加上运行环境复杂,使得嵌入式软件的开发变得很困难。为了设计一个满
24、足一定功能要求的代码,并把它写进给定数量、位置的ROM中并不是一件简单的事情。这需要软件开发人员了解专门的设计方法,还需要在专门的开发平台上进行交叉开发。 对于嵌入式软件来说,开发环境与运行环境是不相同的。嵌入式软件要在目标系统上运行,但在目标系统上不能进行开发工作。开发工作要在开发系统上进行。将应用程序调试无误后才能放到目标系统上面去运行。这显然是一件繁琐的事情。,51,4. 实时性强,实时性是嵌入式系统的一个重要特征。嵌入式系统上的相当一部分应用都要求系统具有实时处理的能力。对这些应用来说,这种实时性的主要是靠软件层来体现的。软件对外部事件的反应必须是快速的、确定的、可重复实现的,不管系统
25、当时的内部状态如何都是可以预测的。同时对于事件的处理一定要在限定的时间期限之前完成,否则将可能引起系统崩溃。,52,5.软件开发与硬件开发往往同步进行,与通用计算机系统相比,嵌入式软件与硬件之间的关系更加密切,硬件的变化往往对操作系统有非常大的影响,而且这种影响还会传递到应用程序层面,所以对一些嵌入式系统来说,软件开发如果能与硬件开发同步进行,则非常有利于提高整个系统的效率。,53,6. 要求固化存储,嵌入式系统的性质决定了它上面没有在通用计算机系统中最常见不过的磁盘存储设备。而且必须能够快速启动这一要求也不允许程序在运行前从磁盘上加载。所以,嵌入式系统的程序一般都放在只读存储器中,并可以在这
26、个存储器中直接执行。所以程序是绝对定位、可重入的。除此之外应用程序应采用特殊的容错和出错处理措施,使之具有故障诊断和修复能力,可在死机之前自动保存和恢复先前的运行状态。,54,7. 可靠性要求更高,在嵌入式系统中,软件是固化在硬件系统上,和硬件一起作为一个整体推向市场的。软件一旦出现问题,维护起来就比较麻烦。另外,有相当一部分嵌入式软件是用在实时控制领域,负责控制着相当重要的对象,如电站,航天飞行器等。软件如果出现问题,造成的后果将非常严重。所以要求嵌入式软件的可靠性必须非常高才行。,55,1.3 嵌入式软件的组成,在嵌入式系统发展的早期,其软件十分简单,常常是应用软件直接建立在硬件之上。一些
27、系统虽然有操作系统,但操作系统和应用软件之间的界线比较模糊,两者往往是一体的。随着嵌入式技术的发展,特别是进入后PC时代后,嵌入式系统上的软件得到了极大的丰富,形成了一个完整的软件体系。,56,嵌入式软件的组成,57,1. 操作系统,嵌入式操作系统由操作系统内核、核外服务、应用程序接口(API)、硬件抽象层等几部分所组成。嵌入式操作系统一般都采用微内核结构,操作系统内核只负责完成任务调度、任务通讯、内存分配、中断管理等一些最基本的功能,而将大部分的功能都放在了内核之外。,58,2. 支撑软件,嵌入式软件上的支撑软件由窗口系统、网络系统、数据库管理系统、Java虚拟机等几个部分所组成。另外,对于
28、嵌入式系统来说,软件开发环境虽然大部分运行在台式机上,但从逻辑上讲它仍然应当被认为是支撑软件的一部分。由于嵌入式系统的硬件配置一般都比较低,在它上面开发应用软件是几乎不可能的。为解决这一问题,很多的厂商都陆续推出了自己的软件开发环境。这种软件开发环境对应用软件的推广起到了极为重要的作用,它使更多的人加入到了嵌入式应用软件开发者的行列中。提高了开发工作的效率,也降低了成本。,59,嵌入式系统的支撑软件近年来发展非常之快。几年前它还是一个很薄弱的部分。但现在支持窗口界面、网络连接和Java虚拟机的嵌入式系统已经很常见。不过总的来说,在嵌入式系统中支撑软件的某些部分还是一个“奢侈”的物品。对一些深度
29、嵌入的嵌入式系统,例如,汽车上的ABS系统、安全气囊系统,是不需要窗口和数据库等支撑软件的。这类支撑软件主要是用在一些浅度嵌入的嵌入式系统中,如智能手机、个人数字助理(PDA)等。对于这些嵌入式系统,支撑软件已成为了不可缺少的部分。,60,3. 应用软件,嵌入式系统中的应用软件是整个系统功能的体现。系统的能力总是通过应用软件表现出来的。一个嵌入式系统可简单的没有支撑软件,甚至没有操作系统,但却不能没有应用软件,否则它就不能成为一个系统。,61,从范围上讲,嵌入式系统上的应用软件涉及到了工业控制、家电、商业、金融、交通运输、通讯、建筑、环境监测、医疗、军事、安全防御、办公等相当多的领域。从与用户
30、的交互方式上讲,有使用方式与台式机基本相似的应用软件,也有由于嵌入的很深,使得使用者感知不到其存在的应用软件。从实现的方法上讲,有在操作系统和支撑软件上开发的应用软件,也有直接在硬件上开发的应用软件。有基于C语言的应用软件、基于汇编语言的应用软件,也有基于Java语言的应用软件。,62,1.4 嵌入式软件的发展历程,按照嵌入式软件的发展水平,可将其分为三个阶段: 1. 基于应用程序阶段 2. 基于操作系统阶段 3. 基于支撑环境阶段,63,1. 基于应用程序阶段,基于应用程序阶段是嵌入式软件发展的最初阶段。这个阶段始于20世纪70年代初,基本上与世界上第一个微处理器Intel 4004的问世相
31、同步。在基于应用程序阶段,嵌入式系统的硬件之上没有操作系统,仅有很少一些用于控制键盘等输入输出装置的监控程序,应用软件直接建立在硬件之上。从开发的角度讲,也没有功能比较齐全的嵌入式软件开发环境,一般只有交叉编译等一些最基本的工具。,64,造成这种情况的原因主要有以下几条:其一是这时嵌入式系统还处在其发展的初期。规模小、功能不完备是比较自然的现象。其二是这时嵌入式系统的硬件资源都比较有限。比如内存的容量一般只有几K。CPU的时钟频率一般在4M以下,字长一般是8位和4位,甚至是1位。如果系统程序很多,要占用很多硬件资源,是当时的条件所不许可的。其三是当时嵌入式系统的应用范围也比较有限,比较多的是用
32、在控制领域。对是否有操作系统提供支持需求还不是十分强烈。,65,2. 基于操作系统阶段,到20世纪80年代,嵌入式软件进入了基于操作系统的阶段。这一阶段的标志是操作系统出现在了嵌入式系统上,应用程序是在操作系统之上编写,嵌入式软件开发环境也得到了一定的应用。这使得嵌入式软件的开发效率得到了很大的提高、开发成本得到了降低、开发周期有了很大的缩短。世界上第一个商业化的嵌入式操作系统是Microtec Research公司开发的VRTX。在功能上VRTX已具备了一般操作系统应有的绝大部分功能,如任务管理、任务间通信、同步与互斥、中断响应与处理、内存管理等。现在已有很多种操作系统可供嵌入式系统的开发者
33、选择,例如PalmOS、VxWorks、pSOS、Nucleus、Windows CE、Hopen和嵌入式Linux等。,66,3. 基于支撑系统阶段,在进入20世纪90年代以后,世界上的很多计算机制造厂商陆续推出了很多新型的基于微处理芯片的非PC类产品。比如,Apple公司在1993年发布了世界上第一个PDA产品Newton MessagePad;1996年1月Oracle公司首次提出了网络计算机的概念,并于同年10月29日推出了名为JavaStation的网络计算机产品。,67,基于微处理芯片的非PC类产品虽然不是在20世纪90年才出现的,但这些于90年代出现的产品与以往的同类产品相比有很
34、大的不同,它们的生产规模很大,应用的范围很广,对社会生活影响很深,形成了一个完全可与PC产业相匹敌的新兴产业。它们的出现对计算机界有划时代的意义,使计算机产业进入了后PC时代。,68,在后PC时代,对嵌入式应用软件提出了更多的需求,要求应用软件功能更强,应用面更广,并且能更快的投入使用。这种需求又进一步带动了嵌入式操作系统和应用软件支撑系统的发展,使操作系统的种类更加多,功能更加完善。并在一些种类的操作系统之上出现了窗口系统、网络系统、数据库管理系统、Java虚拟机等一系列支撑软件。反过来,这些支撑软件又大大地改变了应用软件的开发条件,使应用软件的开发进入了一个新的阶段。,69,在这一阶段,编
35、写嵌入式应用程序时不再是仅能调用操作系统所能提供的一些基本调用。人机交互、网络通讯、数据存取等方面的很多工作都可以通过调用支撑软件来完成。这使得嵌入式应用软件的开发效率与基于操作系统阶段相比较又有了很大的提高。目前在PalmOS、Vxworks、Windows CE、Hopen和嵌入式Linux等操作系统上都有比较齐全的支撑软件。,70,1.5 嵌入式软件的应用领域,工业控制领域 家电领域 商业和金融领域 交通运输领域 通讯领域 建筑领域 环境监测领域 医疗领域,71,1. 自动控制领域,在自动控制领域,嵌入式软件的典型应用有数控机床、电网安全、电网设备监测、发电站和电力传输、污水处理、自动化
36、工厂、石油提炼和贮运设施、建筑设备、计算机辅助制造、能源控制、核电站、机器人等。自动控制建立在对被控对象进行不断监测的基础上。在控制过程中嵌入式计算机系统起着中心的角色。控制系统的传感器采集到的实时信息由嵌入式计算机系统进行处理,然后再根据处理的结果对执行部件发出控制指令。,72,2. 家电领域,在家电领域,嵌入式软件可用在机顶盒、PDA、DVD、MP3播放器、数码相机、数字电视、网络冰箱、网络空调、家庭网关之上。在不远的未来,家用电器可能会成为应用嵌入式软件最多的地方。,73,3. 商业和金融领域,在商业和金融领域,嵌入式软件可用在自动柜员机、信用卡系统、售货终端、公共交通智能卡之上。当在商
37、业和金融领域广泛地应用嵌入式软件和网络技术后,各种的ATM终端将全面的进入人们的生活,使人们可以手持一卡就可以行遍天下。,74,4. 交通运输领域,在交通领域,嵌入式系统可用在车辆导航、流量控制、信息监测、公路运输、燃料服务、航空管理、雷达系统、交通指挥系统、停车系统、售票系统、乘客信息系统、检票系统、行李处理系统等方面。,75,5. 通讯领域,在通讯领域,嵌入式系统可用于电话交换系统、电缆系统、数据交换设备、手机和传呼机等方面。,76,6. 建筑领域,在建筑领域,嵌入式系统可用于电力供应、备用电源和发电机、火警控制、供热和通风、电梯、车库管理、安保系统、电子门锁、楼宇管理、闭路电视、电子保险柜、警铃等方面。,77,7. 环境监测领域,在环境监测领域,嵌入式系统可用于水文资料实时监测、水土质量监测、堤坝安全控制、地震监测网控制、实时气象信息网控制、水源与空气污染监测等方面。在很多环境恶劣、地况复杂的地区利用嵌入式系统可实现无人监测,极大地方便了人们的监测工作。,78,8. 医疗领域,在医疗领域,嵌入式系统可用于心脏除颤器、心脏起搏器、病员监视系统、X光设备、理疗控制系统、电磁成像系统等方面。,