第3章嵌入式系统
随着信息技术的发展,嵌入式系统的应用越来越广,同时,在我国软件产业发展的规划中,也把嵌入式系统应用软件作为一个重点发展方面。因此,系统架构设计师必须熟悉有关嵌入式系统的基础知识,掌握嵌入式系统架构设计技术。
根据考试大纲,本章要求考生掌握以下知识点:
(1)信息系统综合知识:包括嵌入式系统的特点、嵌入式系统的硬件组成与设计、嵌入式系统应用软件及开发平台、嵌入式系统网络、嵌入式系统数据库、嵌入式操作系统与实时操作系统。
(2)系统架构设计案例分析:包括实时系统和嵌入式系统特征、实时任务调度和多任务设计、中断处理和异常处理、嵌入式系统开发设计。
3.1嵌入式系统概论
嵌入式系统是一种以应用为中心,以计算机技术为基础,可以适应不同应用对功能、可靠性、成本、体积、功耗等方面的要求,集可配置可裁减的软、硬件于一体的专用计算机系统。它具有很强的灵活性,主要由嵌入式硬件平台、相关支撑硬件、嵌入式操作系统、支撑软件以及应用软件组成。
3.1.1 嵌入式系统的特点
嵌入式系统具有以下特点:
(1)系统专用性强。嵌入式系统是针对具体应用的专门系统。它的个性化很强,软件和硬件结合紧密。一般要针对硬件进行软件的开发和移植,根据硬件的变化和增减对软件进行修改。
(2)软、硬件依赖性强。嵌入式系统的专用性决定了其软、硬件的互相依赖性很强,两者必须协同设计,以达到共同实现预定功能的目的,并满足性能、成本和可靠性等方面的严格要求。
(3)系统实时性强。在嵌入式系统中,有相当一部分系统对外来事件要求在限定的时间内及时做出响应,具有实时性。
(4)处理器专用。嵌入式系统的处理器一般是为某一特定目的和应用而专门设计的,通常具有功耗低、体积小、集成度高等优点,能够把许多在通用计算机上需要由板卡完成的任务和功能集成到芯片内部,从而有利于嵌入式系统的小型化和移动能力的增强。
80
系统架构设计师考试全程指导(第2版)
(5)多种技术紧密结合。嵌入式系统通常是计算机技术、半导体技术、电力电子技术及机械技术与各
行业的具体应用相结合的产物。通用计算机技术也离不开这些技术,但它们相互结合的紧密程度不及嵌入式系统。
(6)系统透明性。嵌入式系统在形态上与通用计算机系统差异很大,它的输入设备往往不是常见的鼠标和键盘之类的设备,甚至没有输出装置,用户可能根本感觉不到它所使用的设备中有嵌入式系统的存在,即使知道也不必关心这个嵌入式系统的相关情况。
(7)系统资源受限。嵌入式系统为了达到结构紧凑、可靠性高及降低系统成本的目的,其存储容量、I/O设备数量和处理器的处理能力都比较有限。
3.1.2 实时系统的概念
简单地说,实时系统可以看成对外部事件及时响应的系统。现实世界中,并非所有的嵌入式系统都具有实时特性,所有的实时系统也不一定都是嵌入式的。但这两种系统并不互相排斥,兼有这两种特性的系统称为实时嵌入式系统(Real-Time Embedded System,RTES),通常简称为实时系统。我们先介绍与RTES相关的几个概念。
(1)逻辑(或功能)正确:指系统对外部事件的处理能够产生正确的结果。
(2)时间正确:指系统对外部事件的处理必须在预定的周期内完成。
(3)死线(Deadline):指系统必须对外部事件处理的最迟时间界限,错过此界限可能产生严重后果。通常,计算必须在到达死线前完成。
(4)实时系统:指功能正确和时间正确同时满足的系统,二者同等重要。换言之,实时系统有时间约束并且是死线驱动的。但是在某些系统中,为了保证功能的正确性,有可能牺牲时间的正确性。
根据对错失死线的容忍程度不同,可以将RTES分为软RTES和硬RTES。
(1)硬RTES:必须满足其灵活性接近零死线要求的RTES。死线必须满足,否则就会产生灾难性后果,并且死线之后得到的处理结果或是零级无用,或是高度贬值。在硬RTES中,错失死线后的处理结果价值为零,错失死线的惩罚是灾难性的。
(2)软RTES:必须满足死线的要求,但是有一定灵活性。死线可以包含可变的容忍等级、平均的时间死线,甚至是带有不同程度的可接受性的响应时间的统计分布。在软RTES中,错失死线后处理结果的价值根据应用的性质随时间按某种关系下降,死线错失不会导致系统失败。由于一个或多个错失的死线对软RTES的运行没有决定性的影响,一个软RTES不必预测是否可能有悬而未决的死线错失。相反,软RTES在探知到错失一个死线时可以启动一个恢复进程。
希赛教育专家提示:在RTES中,任务的开始时与同死线或完成时间同样重要,由于任务缺少需要的资
源(例如,CPU和内存等),就有可能阻碍任务的开始并直接导致错失任务的完成死线,因此,死线问题演变成资源的调度问题。
第3章嵌入式系统81 3.2嵌入式系统的基本架构
嵌入式系统开发是什么
嵌入式系统一般都由软件和硬件两个部分组成,其中嵌入式处理器、存储器和外部设备构成整个系统的硬件基础。嵌入式系统的软件部分可以分为3个层次,分别是系统软件、支撑软件和应用软件,其中系统软件和支撑软件是基础,应用软件则是最能体现整个嵌入式系统的特点和功能的部分。
3.2.1 硬件架构
微处理器是整个嵌入式系统的核心,负责控制系统的执行。外部设备是嵌入式系统同外界交互的通道,常见的外部设备有Flash存储器、键盘、输入笔、触摸屏、液晶显示器等,在很多嵌入式系统中还有与系统用途紧密相关的各种专用外设。嵌入式系统中经常使用的存储器有3种类型,分别是RAM、ROM和混合存储器。系统的存储器用于存放系统的程序代码、数据和系统运行的结果。
嵌入式系统的核心部件是各种类型的嵌入式处理器,根据目前的使用情况,嵌入式处理器可以分为如下几类:
(1)嵌入式微处理器。由通用计算机中的CPU演变而来,在功能上跟普通的微处理器基本一致,但是
它具有体积小、功耗低、质量轻、成本低及可靠性高的优点。通常,嵌入式微处理器和ROM(Read Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、总线接口及外设接口等部件安装在一块电路板上,称为单板计算机。
(2)嵌入式微控制器。又称为单片机,整个计算机系统都集成到一块芯片中。嵌入式微控制器一般以某一种微处理器内核为核心,芯片内部集成有存储器、总线、总线逻辑、定时器/计数器、监督定时器、并口/串口、数模/模数转换器、闪存等必要外设。与嵌入式微处理器相比,嵌入式微控制器的最大特点是单片化,因而体积更小、功耗和成本更低,可靠性更高。
(3)嵌入式数字信号处理器。一种专门用于信号处理的处理器,DSP(Digital Signal Processor,数字信号处理器)是芯片内部采用程序和数据分开的结构,具有专门的硬件乘法器,广泛采用流水线操作,提供特殊的DSP指令,可以用来快速实现各种数字信号的处理算法。目前,DSP在嵌入式系统中使用非常广泛,如数字滤波、快速傅里叶变换及频谱分析等。
(4)嵌入式片上系统。一种在一块芯片上集成很多功能模块的复杂系统,例如,把微处理器内核、RAM、USB(Universal Serial Bus,通用串行总线)、IEEE 1394、Bluetooth (蓝牙)等集成到一个芯片中,构成一个嵌入式片上系统,从而大幅度缩小了系统的体积、降低了系统的复杂度、增强了系统的可靠性。在大量生产时,生产成本也远远低于单元
82
系统架构设计师考试全程指导(第2版)
部件组成的电路板系统。根据用途不同,嵌入式片上系统可以分为通用片上系统和专用片上系统两类。专用类的嵌入式片上系统一般是针对某一或某些系统而设计的。
3.2.2 软件架构
随着嵌入式技术的发展,特别是在后PC时代,嵌入式软件系统得到了极大的丰富和发展,形成了一个完整的软件体系,如图3-1所示。这个体系自底向上由3部分组成,分别是嵌入式操作系统、支撑软件和应用软件。
图3-1  嵌入式系统的软件架构
嵌入式操作系统(Embedded Operating System,EOS)由操作系统内核、应用程序接口、设备驱动程序接口等几部分组成。嵌入式操作一般采用微内核结构。操作系统只负责进程的调度、进程间的通信、内存分配及异常与中断管理最基本的任务,其他大部分的功能则由支撑软件完成。
嵌入式系统中的支撑软件由窗口系统、网络系统、数据库管理系统及Java虚拟机等几部分组成。对于嵌入式系统来讲,软件的开发环境大部分在通用台式计算机和工作站上运行,但从逻辑上讲,它仍然被认为是嵌入式系统支撑软件的一部分。支撑软件一般用于一些浅度嵌入的系统中,如智能手机、个人数字助理等。
嵌入式系统中的应用软件是系统整体功能的集中体现。系统的能力总是通过应用软件表现出来的。
3.3嵌入式操作系统
EOS是指运行在嵌入式计算机系统上支持嵌入式应用程序的操作系统,是用于控制和管理嵌入式系统中的硬件和软件资源、提供系统服务的软件集合。EOS是嵌入式软件的一个重要组成部分。它的出现提高了嵌入式软件开发的效率,提高了应用软件的可移
第3章嵌入式系统83
植性,有力地推动了嵌入式系统的发展。
随着各种类型EOS的成熟和发展,与通用系统的开发方法相似,基于操作系统的开发方案逐渐成为开发的主流。EOS作为应用软件的运行平台,已经成为许多嵌入式系统的关键。
3.3.1 特点与分类
与通用操作系统相比,EOS主要有以下特点:
(1)微型化。EOS的运行平台是嵌入式计算机系统。这类系统一般没有大容量的内存,几乎没有外存,因此,EOS必须做得小巧,以尽量少占用系统资源。为了提高系统速度和可靠性,嵌入式系统中的软件一般都固化在存储器芯片中,而不是存放在磁盘等载体中。
(2)代码质量高。在大多数应用中,存储空间依然是宝贵的资源,这就要求程序代码的质量要高,代码要尽量精简。
(3)专业化。嵌入式系统的硬件平台多种多样,处理器的更新速度快,每种都是针对不同的应用领域而专门设计。因此,EOS要有很好适应性和移植性,还要支持多种开发平台。
(4)实时性强。嵌入式系统广泛应用于过程控制、数据采集、通信、多媒体信息处理等要求实时响应的场合,因此实时性成EOS的又一特点。
(5)可裁减、可配置。应用的多样性要求EOS具有较强的适应能力,能够根据应用的特点和具体要求进行灵活配置和合理裁减,以适应微型化和专业化的要求。
嵌入式操作系统的实时性上,可以分为实时嵌入式操作系统(Real-Time embedded Operating System,RTOS)和非实时嵌入式操作系统两类。
(1)实时嵌入式操作系统。RTOS支持实时系统工作,其首要任务是调度一切可利用资源,以满足对外部事件响应的实时时限,其次着眼于提高系统的使用效率。RTOS 主要用在控制、通信等领域。目前,大多数商业嵌入式操作系统都是RTOS。与通用操作系统系统相比,RTOS在功能上具有很多特性。RTOS和通用操作系统之间的功能也有很多相似之处,如它们都支持多任务,支持软件和硬件的资源管理以及都为应用提供基本的操作系统服务。RTOS特有的不同于通用操作系统的功能主要有:满足嵌入式应用的高可靠性;满足应用需要的上、下裁减能力;减少内存需求;运行的可预测性;提供实时调度策略;系统的规模紧凑;支持从ROM或RAM上引导和运行;对不同的硬件平台具有更好的
可移植性。
(2)非实时嵌入式操作系统。这类操作系统不特别关注单个任务响应时限,其平均性能、系统效率和资源利用率一般较高,适合于实时性要求不严格的消费类电子产品,如个人数字助理、机顶盒等。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。