《第1章 嵌入式系统概述》由会员分享,可在线阅读,更多相关《第1章 嵌入式系统概述(48页珍藏版)》请在金锄头文库上搜索。
1、第1章 嵌入式系统概述 第1章 嵌入式系统概述 1.1 嵌入式系统的产生和发展1.2 嵌入式系统的概念1.3 嵌入式系统的应用领域1.4 嵌入式系统的发展趋势思考与练习题 第1章 嵌入式系统概述 1.1 嵌入式系统的产生和发展 嵌入式系统的全面发展是从20世纪90年代开始的,主要受到了分布式控制、数字化通信、信息家电、网络应用等强烈的应用需求所牵引。现在,人们可以随处发现嵌入式系统的应用 ,如手机、MP3播放器、数码相机、VCD、机顶盒、路由器、交换机等。嵌入式系统在软、硬件技术方面迅速发展,首先是面向不同应用领域、功能更加强大、集成度更高、种类繁多、 价格低廉、低功耗的32位微处理器逐渐占领
2、统治地位,DSP器件向高速、高精度、低功耗发展,而且可以和其他的嵌入式微 处理器相集成; 第1章 嵌入式系统概述 其次,随着微处理器性能的提高,嵌入式软件的规模也成指数型增长,所体现出的嵌入式应用具备了更加复杂和高度智能的功能,软件在系统中体现出来的重要程度越来越大,嵌入式操作系统在嵌入式软件中的使用越来越多,所占的比例逐渐提高,同时,嵌入式操作系统的功能不断丰富,在内核基础上 发展成为包括图形接口、文件、网络、嵌入式Java、嵌入式CORBA、分布式处理等完备功能的集合;最后,嵌入式开发工具更加丰富,已经覆盖了嵌入式系统开发过程的各个阶段, 现在主要向着集成开发环境和友好人机界面等方向发展。
3、 第1章 嵌入式系统概述 1.2 嵌入式系统的概念 1.2.1 嵌入式系统的定义嵌入式计算系统,简称为嵌入式系统。那么究竟什么是嵌入式系统呢?在Wayne Wolf著的一本有关嵌入式系统设计的教科书嵌入式计算系统设计原理里这样定义:“不严格地说:它是任意包含一个可编程计算机的设备,但是这个设备不是作为通用计算机而设计的。因此,一台个人电脑并不能称之为嵌入式计 算系统,尽管个人电脑经常被用于搭建嵌入式计算系统。” 第1章 嵌入式系统概述 IEEE(国际电气和电子工程师协会)的定义是:“Device used to control, monitor, or assist the operation
4、 of equipment, machinery or plants”。微机学会的定义是:“嵌入式系统是以嵌入式应用为目的的计算机系统”,并分为系统级、板级、片级,系统级包括各类工控器、PC104模块等;板级包括各类带CPU的主板和OEM产品;片级包括各种以单片机、DSP、微处理器为核心的产品。目前被大多数人接受的一般性定义是:“嵌入式系统是以应用为中心,以计算机技术为基础,软、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用 计算机系统。” 第1章 嵌入式系统概述 由于嵌入式系统的概念从外延上很难统一,其应用形式多种多样,因此定义嵌入式系统非常困难。不过,通过对上述定
5、义分析后不难发现,从嵌入式系统概念的内涵上讲,它的共性是一种软、硬件紧密结合的专用计算机系统。通常我们所说的嵌入式系统,硬件以嵌入式微处理器为核心,集成存储系统和各种专用输入/输出设备;软件包含系统启动程序、驱动程序、嵌入式操作系统、应用程序等,这些软件有机结合,构成系统特定的一体化软件。这种专用计算机系统必然在可靠性、实时性、功耗、可裁减等方面具有一系列特点。如果我们关注一下嵌入式系统的特性,也许能够对嵌入式系统的概念获得更深 入的理解。 第1章 嵌入式系统概述 1.2.2 嵌入式系统的特点1专用的计算机系统这种“量体裁衣”型的专用计算平台的特征导致了许多与通用计算平台的不同,主要表现在如下
6、几个方面。(1) 形式多样。 (2) 对运行环境的依赖性。 (3) 综合考虑成本、资源、功耗、体积因素。 (4) 软、硬件紧密结合,高效设计。 第1章 嵌入式系统概述 2代码固化嵌入式系统的目标代码通常固化在非易失性存储器中,如ROM、EPROM、EEPROM、Flash等。系统资源受限是一部分原因,其他主要的原因是为了提高系统的执行速度和系统的可靠性。3实时性要求嵌入式系统大多有实时性要求,根据系统对实时性要求的 强度的不同,可分为硬实时系统和软实时系统。 第1章 嵌入式系统概述 4可靠性要求嵌入式系统一般要求具有出错处理和自动复位功能,特别是对于运行在极端环境下或重要场合的嵌入式系统而言,
7、其可靠性设计尤其重要。在嵌入式系统设计中使用一些硬件和软件机制来保证系统的可靠性,如硬件的看门狗定时器、软件的内 存保护和重启机制等。 第1章 嵌入式系统概述 5操作系统的支持嵌入式软件可以在没有操作系统支持的情况下设计,但是随着系统功能的复杂程度和性能要求的进一步提高,需要采用多任务结构设计软件,为了合理地进行任务调度、利用系统资源以及各种函数接口,必须使用嵌入式操作系统平台开发软件。嵌入式系统在嵌入式操作系统的支持下设计,一方面可以保证程序执行的实时性和可靠性,另一方面可以有效地减少开发周期,保障软件质量。嵌入式操作系统是嵌入式行业走向标准化道路的基础。第1章 嵌入式系统概述 6专门的开发
8、工具、环境和方法由于嵌入式系统是软/硬件紧密结合的系统,因此嵌入式系统的开发通常是软件与硬件并行设计、开发的过程,软、硬件协同设计的开发方法是最适合嵌入式系统开发的方法。其开发过程一般分为以下几个阶段:系统定义、软件与硬件 设计与实现、软/硬件集成、系统测试、可靠性评估等。嵌入式系统在可靠性方面的特点使得系统测试和可靠性评估非常 重要,在这方面的方法研究已经发展成为一门学科。 第1章 嵌入式系统概述 由于系统资源有限,嵌入式系统一般不具备自主开发能力,设计完成后,用户也不能对其中的软件进行修改,即嵌入式 系统的开发必须借助于一套专门的开发工具(开发环境),包括设计、编译、调试、测试等工具,采用
9、交叉开发的方式进行。 交叉开发环境由宿主机和目标机组成,如图1-1所示。宿主机一般采用通用计算机系统,利用通用计算机的丰富资源,承担开发工具的大部分工作,构成主要的开发环境;目标机就是所要开发的嵌入式系统,构成最终的执行环境,配合宿主机完成 开发工作。 第1章 嵌入式系统概述 图1-1 交叉开发环境 第1章 嵌入式系统概述 7知识集成系统嵌入式行业的基础是以应用为中心的芯片设计和面向应用的软件产品开发。它是一个高度分散的行业,充满了竞争、机遇和创新,没有哪一个系列的处理器和操作系统能够垄断全部市场。即便在体系结构上存在着主流,各不相同的应用领域也决定了不可能有少数公司、少数产品垄断全部市场。因
10、此,嵌入式系统领域的产品和技术,必然是高度分散的,留给各个行业的中小规模高技术公司的创新余地很大。另外,社会上的各个应用领域是在不断向前发展的,要求其中的嵌入式微处理器核心也同步发展,这也构成了推动嵌入式行业发展的强大动力 。 第1章 嵌入式系统概述 1.2.3 嵌入式系统的组成结构虽然,在不同的应用场合,嵌入式系统呈现出不同的外观和形式,但是,其核心的计算系统仍然可以抽象出一个典型的组成模型,一般可划分为硬件层、中间层、软件层和功能层, 如图1-2所示。 第1章 嵌入式系统概述 第1章 嵌入式系统概述 1硬件层硬件层由嵌入式微处理器、存储系统、通信模块、人机接 口、其他I/O接口(A/D、D
11、/A、通用I/O等)以及电源等组成。嵌入式系统的硬件层以嵌入式微处理器为核心,在嵌入式微处理 器基础上增加电源电路、时钟电路和存储器电路(RAM和ROM等),这就构成了一个嵌入式核心控制模块,操作系统和应用程序都可以固化在ROM中。 第1章 嵌入式系统概述 2中间层硬件层与软件层之间为中间层,它把系统软件与底层硬件部分隔离,使得系统的底层设备驱动程序与硬件无关。中间层 一般包括硬件抽象层(Hardware Abstract Layer,HAL)和板级支持包(Board Support Package,BSP)。 第1章 嵌入式系统概述 硬件抽象层是位于操作系统内核与硬件电路之间的接口层,其目的
12、是将硬件抽象化,即可以通过程序来控制所有硬件电 路如CPU、I/O、存储器等的操作。这样使得系统的驱动程序与硬件设备无关,从而大大提高了系统的可移植性。从软/硬件测试的角度看,软/硬件的测试工作可分别基于硬件抽象层完成,使得软/硬件测试工作的并行进行成为可能。在定义HAL时,需要规定统一的软/硬件接口标准,其设计工作需要基于系统需求来做,代码编写工作可由对硬件层比较熟悉的人 员来完成。HAL一般应包含相关硬件的初始化、数据的输入/输出操作、硬件设备的配置操作等功能。 第1章 嵌入式系统概述 板级支持包介于主板硬件和操作系统中驱动层程序之间,一般认为它属于操作系统的一部分,主要实现对操作系统的支
13、持,为上层的驱动程序提供访问硬件设备寄存器函数包,使之 能够在硬件主板上更好地运行。BSP是相对操作系统而言的,不同的操作系统对应于不同定义形式的BSP。因此,BSP一定要按照该系统BSP的定义形式来写(BSP的编程过程大多数是在某一个成型的BSP模板上进行修改),这样才能与上层的操作系统保持正确的接口,良好地支持上层操作系统。BSP一般实现以下两个方面的功能:系统启动时完成对硬件的初始化;为驱动程序提供访问硬件的手段,即为上层的驱动程序提供访问硬 件设备寄存器的函数包。 第1章 嵌入式系统概述 3软件层软件层由实时操作系统(Real Time Operating System,RTOS)、文
14、件系统、图形用户接口(Graphical User Interfaces,GUI)、网络组件组成。RTOS是嵌入式应用软件的基础和开发平台。大多数RTOS都是针对不同微处理器优化设计的高效实时多任务内核,可以在不同微处理器上运行而为用户提供相同 的API接口。因此,基于RTOS开发的应用程序具有非常好的可移植性。 第1章 嵌入式系统概述 4功能层功能层由基于RTOS开发的应用程序组成,用来完成实际所需的应用功能。功能层是面向被控对象和用户的,当需要用 户操作时往往需要提供一个友好的人机界面。 第1章 嵌入式系统概述 1.2.4 嵌入式系统的分类1按照嵌入式微处理器的位数分类按照嵌入式微处理器字
15、长的位数,嵌入式系统可分为4位、8位、16位、32位和64位。其中,4位、8位、16位嵌入式系统已经获得了大量应用,32位嵌入式系统正成为主流发展趋势,而一些高度复杂和要求高速处理的嵌入式系统已经开始使用 64位嵌入式微处理器。 第1章 嵌入式系统概述 2按照实时性分类实时系统是指系统执行的正确性不仅取决于计算的逻辑结果,还取决于结果产生的时间。根据嵌入式系统是否具有实时性,可将其分为嵌入式实时系统和嵌入式非实时系统。大多数嵌入式系统都属于嵌入式实时系统。根据实时性的 强弱,实时系统又可进一步分为硬实时系统和软实时系统。 第1章 嵌入式系统概述 硬实时系统是指系统对响应时间有严格要求,如果响应
16、时间不能满足,就会引起系统崩溃或致命错误,如飞机的飞控系统。软实时系统是指系统对响应时间有一定要求,如果响应时间不能满足,不会导致系统崩溃或出现致命错误,如打印机、自动门。可以认为两者的区别在本质上属于客观要求和主观感 受的区别。 第1章 嵌入式系统概述 3按照嵌入式软件结构分类按照嵌入式软件的结构分类,嵌入式系统可分为循环轮询系统、前后台系统和多任务系统。1) 循环轮询系统循环轮询(polling loop)是最简单的软件结构,程序依次检查系统的每个输入条件,如果条件成立就执行相应处理。其流 程图如图1-3所示。 第1章 嵌入式系统概述 第1章 嵌入式系统概述 示意代码如下:initialize( )while(true) if (condition_1) action_1( )if (condition_2) action_2( )if (condition_n) action_n( ) 第1章 嵌入式系统概述 2) 前后台系统前后台(foreground/background)系统属于中断驱动机制。后台程序是一个无