11嵌入式软件概述本章主要内容嵌入式系统的概念与特点嵌入式软件的概念与特点嵌入式软件的组成嵌入式软件的发展历程嵌入式软件的应用领域21.1嵌入式系统的概念与特点在我们日常的生活和工作中,都会接触和使用到很多嵌入式系统。比如我们所使用的手机中有一个嵌入式系统。我们用来听音乐的MP3播放器中有一个嵌入式系统。各种自动化程度较高的工业设备也都是由嵌入式系统控制的。那么究竟都有哪些东西属于嵌入式系统的范畴呢?一个嵌入式系统又都有哪些特性呢?31.1.1什么是嵌入式系统嵌入式系统的定义有关嵌入式系统的几个问题嵌入式系统的组成嵌入式系统也叫嵌入式计算机,它指那些以应用为中心,以计算机技术为基础,为适应应用对功能、可靠性、成本、体积、功耗的严格要求,可对系统的软件和硬件进行配置的专用计算机系统。41.1.1什么是嵌入式系统嵌入式系统的定义有关嵌入式系统的几个问题嵌入式系统会带有专用的外部设备嵌入式系统和嵌入式系统所控制的对象是两个不同的概念嵌入式系统的数量远远超过通用计算机嵌入式系统的组成嵌入式系统通常会带有一些专用的外部设备,而不是像通用计算机那样一般只有显示器、键盘、鼠标、打印机等一些外部设备。这些外部设备是为完成某种特定的功能设计的,例如一些专用的机械装置。51.1.1什么是嵌入式系统嵌入式系统的定义有关嵌入式系统的几个问题嵌入式系统会带有专用的外部设备嵌入式系统和嵌入式系统所控制的对象是两个不同的概念嵌入式系统的数量远远超过通用计算机嵌入式系统的组成嵌入式系统和嵌入式系统所控制的对象是两个不同的概念。嵌入式系统只是一台专用的计算机,而嵌入式系统所控制的对象则是一个有某种特定用途的设备或系统。在嵌入式系统所控制的对象规模很大时这两个概念不会发生混淆。例如我们只会把控制电梯的专用计算机称为嵌入式系统,而不会把整部电梯称为嵌入式系统。但在嵌入式系统所控制的对象规模很小时两者间的界限常常会变得模糊不清。例如在一部手机中我们很难说清楚哪些部分应当属于控制手机的嵌入式系统的范围,而哪些部分又不属于其范围。手机中的通信部件,可以认为是嵌入式系统的外部设备,也可以认为是另外一个独立的通信系统中的一部分。但是即使在某些情况下难以区分,我们也不能把嵌入式系统和嵌入式系统所控制的对象这两个概念混为一谈。61.1.1什么是嵌入式系统嵌入式系统的定义有关嵌入式系统的几个问题嵌入式系统会带有专用的外部设备嵌入式系统和嵌入式系统所控制的对象是两个不同的概念嵌入式系统的数量远远超过通用计算机嵌入式系统的组成嵌入式系统的应用面非常之广,在数量上远远超过了通用计算机。例如,在一台现代化程度较高的汽车上就包含有很多个嵌入式系统。汽车的发动机、ABS、安全气囊、音响、导航器就都是由嵌入式系统控制的。通用计算机的外部设备中也离不开嵌入式系统。键盘、鼠标、软驱、光驱、硬盘、显示卡、显示器、网卡、调制解调器、声卡、打印机、扫描仪、USB集线器等设备中就都包含有嵌入式系统。71.1.1什么是嵌入式系统嵌入式系统的定义有关嵌入式系统的几个问题嵌入式系统的组成嵌入式系统由中央处理器、存储器、外部接口与设备、软件4个部分所组成。81.1.1什么是嵌入式系统嵌入式系统的定义有关嵌入式系统的几个问题嵌入式系统的组成中央处理器是嵌入式系统的核心,与通用计算机不同,嵌入式系统的中央处理器必须解决提高集成度和降低功耗等一系列问题。在实际应用中,嵌入式系统的处理器可以分成嵌入式微处理器、微控制器、嵌入式DSP处理器、片上系统等4种不同的类型。91.1.1什么是嵌入式系统嵌入式系统的定义有关嵌入式系统的几个问题嵌入式系统的组成外部接口与设备是嵌入式系统与外部相连接的通道。在嵌入式系统上面,常见的外部接口有RS-232、RS-422、RS-485、USB、IrDA、I2C、以太网、IEEE1394等。常见的外部设备有闪存卡之类的外部存储设备和单手键盘、输入笔、LCD之类的输入输出设备。在很多嵌入式系统中还带有与系统的用途紧密相关的专用外部接口与设备。101.1.1什么是嵌入式系统嵌入式系统的定义有关嵌入式系统的几个问题嵌入式系统的组成存储器用于存储系统中的程序代码和数据。在嵌入式系统中,存储器有3种类型:RAM、ROM及可在线写入非易失存储器。RAM家族中有两个成员:静态RAM(SRAM)和动态RAM(DRAM)。ROM家族中有三个成员:掩膜ROM、可编程ROM(PROM)、擦写可编程ROM(EPROM)。可在线写入非易失存储器的主要成员有:EEPROM、NVRAM(NonVolatileRAM)和闪存。可在线写入非易失存储器的特点是既能随意写入、擦除,又能在断电后保持数据不丢失。111.1.1什么是嵌入式系统嵌入式系统的定义有关嵌入式系统的几个问题嵌入式系统的组成嵌入式系统中的软件分为3个层次:操作系统、支撑软件和应用软件。其中操作系统和支撑软件是基础。应用软件则是最能体现整个嵌入式系统的特点和功能的部分。121.1.2嵌入式系统的特点1.系统专用性强2.系统实时性高3.硬件与软件的互相依赖性强4.采用专用的嵌入式CPU5.多种技术间结合更加紧密6.系统对用户透明7.系统资源有限131.1.2嵌入式系统的特点1.系统专用性强2.系统实时性高3.硬件与软件的互相依赖性强4.采用专用的嵌入式CPU5.多种技术间结合更加紧密6.系统对用户透明7.系统资源有限嵌入式系统是针对具体应用专门设计的计算机系统。系统中的硬件和软件与具体应用密切相关。应用需求略有变化,往往就需要对系统的硬件和软件进行较大更改。解决不同应用问题的嵌入式系统更是有巨大的差别。141.1.2嵌入式系统的特点1.系统专用性强2.系统实时性高3.硬件与软件的互相依赖性强4.采用专用的嵌入式CPU5.多种技术间结合更加紧密6.系统对用户透明7.系统资源有限实时系统指对外来事件能在限定的时间内进行处理的系统。嵌入式系统中的相当一部分是实时系统,高实时性是这些系统的基本要求。151.1.2嵌入式系统的特点1.系统专用性强2.系统实时性高3.硬件与软件的互相依赖性强4.采用专用的嵌入式CPU5.多种技术间结合更加紧密6.系统对用户透明7.系统资源有限嵌入式系统的专用性决定了它的硬件与软件的相互依赖性很强。两者应共同进行设计,以求达到共同完成预定功能的目的,并满足性能、成本和可靠性方面的要求。161.1.2嵌入式系统的特点1.系统专用性强2.系统实时性高3.硬件与软件的互相依赖性强4.采用专用的嵌入式CPU5.多种技术间结合更加紧密6.系统对用户透明7.系统资源有限嵌入式系统的CPU与通用计算机的CPU的最大不同之处是嵌入式系统的CPU一般是为某一特定用户集合专门设计的。它通常都具有功耗低、体积小、集成度高等一系列特点,能够把许多在通用计算机上由板卡完成功能集成在芯片内部,从而有利于嵌入式系统的小型化和增强系统的移动能力。171.1.2嵌入式系统的特点1.系统专用性强2.系统实时性高3.硬件与软件的互相依赖性强4.采用专用的嵌入式CPU5.多种技术间结合更加紧密6.系统对用户透明7.系统资源有限嵌入式系统是计算机技术、半导体技术、电子技术、机械技术与各个行业的具体应用相结合的产物。通用计算机系统虽然也离不开上述这些技术,但它们相互结合的紧密程度不如嵌入式系统。181.1.2嵌入式系统的特点1.系统专用性强2.系统实时性高3.硬件与软件的互相依赖性强4.采用专用的嵌入式CPU5.多种技术间结合更加紧密6.系统对用户透明7.系统资源有限嵌入式系统的外型与通用计算机系统有很大的不同。它的输入装置可能不是键盘、鼠标之类的设备。有的嵌入式系统可能就没有用来输出的显示装置。用户可能根本不知道他所使用的设备中有一个嵌入式计算机系统存在。即使知道他也不会去关心这个计算机系统的设计细节,更不会、也不能去改变它。191.1.2嵌入式系统的特点1.系统专用性强2.系统实时性高3.硬件与软件的互相依赖性强4.采用专用的嵌入式CPU5.多种技术间结合更加紧密6.系统对用户透明7.系统资源有限嵌入式系统为了达到结构紧凑,坚固可靠和尽可能降低系统成本的目的,导致其存储容量和CPU的处理速度都比较有限。201.1.3计算机技术的两大分支计算机可分为通用计算机和嵌入式系统两类通用计算机和嵌入式系统有不同的技术要求与技术发展方向嵌入式系统形成独立的分支经历了一个过程计算机系统可分为通用计算机系统和嵌入式系统两类。与此相对应计算机软件也分成了通用软件和嵌入式软件两类。通用软件指运行于通用计算机系统之上的软件。嵌入式软件指运行于嵌入式计算机系统之上的软件。211.1.3计算机技术的两大分支计算机可分为通用计算机和嵌入式系统两类通用计算机和嵌入式系统有不同的技术要求与技术发展方向嵌入式系统形成独立的分支经历了一个过程通用计算机系统和嵌入式系统是现代计算机技术发展的两个分支。这两个分支有着不同的技术要求与技术发展方向。通用计算机系统的技术要求是高速的计算能力、海量的存储能力;技术发展方向是计算速度的提升,存储容量的扩大。而嵌入式系统的技术要求则是对嵌入对象进行控制的能力;技术发展方向是提高与嵌入对象密切相关的性能指标与可靠性指标。221.1.3计算机技术的两大分支计算机可分为通用计算机和嵌入式系统两类通用计算机和嵌入式系统有不同的技术要求与技术发展方向嵌入式系统形成独立的分支经历了一个过程嵌入式系统发展的初期自从上一世纪90年代中期以来专门的研发的费用比较有限主要应用在工业控制、军事等少数领域中使用量不很多创造的产值相对与通用计算机系统来说很少离普通人的日常生活很远对社会生产和生活产生的影响比较有限在整体上难以与通用计算机系统相匹敌231.1.3计算机技术的两大分支计算机可分为通用计算机和嵌入式系统两类通用计算机和嵌入式系统有不同的技术要求与技术发展方向嵌入式系统形成独立的分支经历了一个过程嵌入式系统发展的初期自从上一世纪90年代中期以来专门的研发费用已经相当可观在广泛的领域中得到了应用使用数量已经远超过通用计算机系统创造的产值与通用计算机系统不相上下已和千百万普通人的日常生活息息相关已经对社会生产和生活产生了巨大的影响整体上已经可以与通用计算机系统相匹敌241.1.4嵌入式系统的类型分类准则:嵌入方式嵌入程度实时性系统复杂程度251.1.4嵌入式系统的类型根据嵌入式系统的嵌入方式分类根据嵌入式系统的嵌入程度分类根据嵌入式系统是否为实时系统分类根据嵌入式系统的复杂程度分类根据嵌入式系统的嵌入方式,可以将嵌入式系统分为整机式嵌入的嵌入式系统、部件式嵌入的嵌入式系统、芯片式嵌入的嵌入式系统等3类。261.1.4嵌入式系统的类型根据嵌入式系统的嵌入方式分类1.整机式嵌入的嵌入式系统2.部件式嵌入的嵌入式系统3.芯片式嵌入的嵌入式系统根据嵌入式系统的嵌入程度分类根据嵌入式系统是否为实时系统分类根据嵌入式系统的复杂程度分类整机式嵌入是将一个带有专用接口的计算机嵌入到一个系统中,使其成为这个系统的核心部分。一般来说,这种计算机系统的功能完整而且比较强,有较完善的人机界面和外部设备,作用是完成系统中的控制工作。例如,一些大型设备的控制计算机就属于这一类。271.1.4嵌入式系统的类型根据嵌入式系统的嵌入方式分类1.整机式嵌入的嵌入式系统2.部件式嵌入的嵌入式系统3.芯片式嵌入的嵌入式系统根据嵌入式系统的嵌入程度分类根据嵌入式系统是否为实时系统分类根据嵌入式系统的复杂程度分类部件式嵌入将计算机以部件(经常是一块板卡)的方式嵌入到一个系统中,用以完成某种处理功能。这种方式使计算机部件与其它硬件耦合更加紧密,功能更专一。例如,雷达的数字信号处理部件采用的就是这种嵌入方式。281.1.4嵌入式系统的类型根据嵌入式系统的嵌入方式分类1.整机式嵌入的嵌入式系统2.部件式嵌入的嵌入式系统3.芯片式嵌入的嵌入式系统根据嵌入式系统的