资源描述
单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,71,单击此处编辑母版标题样式,第二讲 嵌入式系统的组成结构,本讲提要,1,3,2,5,4,嵌入式系统的组成结构,嵌入式系统的硬件组成,嵌入式操作系统涉及的几个关键概念,嵌入式系统硬件涉及的几个关键概念,嵌入式操作系统,一般由,嵌入式微处理器,、,外围硬件设备,、,嵌入式操作系统,(可选),以及,应用软件系统,等四个部分组成,嵌入式系统的组成结构,嵌入式系统的组成结构,处理器,存储器,输入接口,操作系统,(驱动程序),应用程序,软件子系统,硬件子系统,嵌入式系统组成,输出接口,外围设备,嵌入式系统的组成结构,硬件,是嵌入式系统软件环境运行的基础,它提供了嵌入式系统软件运行的物理平台和通信接口;,嵌入式操作系统,和,嵌入式应用软件,是整个系统的控制核心,控制整个系统的运行,提供人机交互的信息等。,嵌入式系统,和实际应用对象密切相关,,而实际应用非常繁杂,应用也日新月异,,很难用一种构架或模型加以描述,。我们将主要围绕,典型,嵌入式系统的硬件组成和软件组成部分加以详细讲述。,应用程序,实时操作系统(RTOS),输入输出接口,处理器/ARM核,MMU/Cache,SOC/SOPC,USB,GPIO,IIS,LCD,UART和IrDA,ADC/DAC,FPGA/CPLD,DSP/浮点运算协处理器,DMA,图2-1 典型的嵌入式系统组成,人机交互接口LCD/触摸屏、键盘、鼠标,设备驱动程序、HAL、BSP,文件系统/图形用户应用程序接口,驱动层,OS层,应用层,软件,硬件,以太网,看门狗及复位电路,Timer/RTC,CAN,Flash,EEPROM,SDRAM,SRAM,内存,电源管理,嵌入式系统的组成结构图,作用:,防止程序发生死循环(程序跑飞)。,工作原理:,系统运行后即启动看门狗,开始自动计数,如果到一定时间未清看门狗,看门狗就会溢出从而引起看门狗中断,造成系统复位。,软件系统,软件,(software),是计算机系统中与硬件,(hardware),相互依存的另一部分,它包括程序,(program),、,相关数据,(data),及其说明文档,(document),。,其中:,程序,是按照事先设计的功能和性能要求执行的指令序列;,数据,是程序能正常操纵信息的数据结构;,文档,是与程序开发维护和使用有关的各种图文资料。,嵌入式软件系统的分类,嵌入式软件,系统软件,支撑软件,应用软件,控制、管理计算机系统的资源,嵌入式操作系统,嵌入式中间件(CORBA、,Java),等等,辅助软件开发的工具,系统分析设计工具,仿真开发工具,交叉开发工具,测试工具,配置管理工具,维护工具等,面向应用领域,手机软件,路由器软件,交换机软件,飞控软件等,嵌入式软件系统的分类,从,运行平台,来分,嵌入式软件可以分为,运行在,开发平台,上的软件,:设计、开发、测试工具等。,运行在,嵌入式系统,上的软件,:嵌入式操作系统、应用程序、驱动程序及部分开发工具。,宿主机,目标机,嵌入式软件系统的体系结构,硬件,应用层,驱动层,操作系统层,中间件层,板级,初始化,FLASH驱动,RTC/定时器驱动,串口,驱动,以太网驱动,LCD,驱动,键盘,驱动,其他,驱动,内核,TCP/IP,网络系统,文件,系统,嵌入式GUI,电源,管理,嵌入式CORBA,嵌入式JAVA,嵌入式,DCOM,面向应用领域的中间件,应用,任务1,应用,任务2,应用,任务n,嵌入式软件运行流程,系统升级,引导/升级系统,系统初始化,应用初始化,多任务应用,上电复位、板级初始化,远程升级,本地升级,基于多任务操作系统,的嵌入式软件的主要运行流程,该运行流程主要分为,5,个阶段,BSP的概念和特点,BSP,(板级支持包)是介于底层硬件和操作系统之间的软件层,它完成系统上电后最初的硬件和软件初始化,并对底层硬件进行封装,使得操作系统不再面对具体的操作。,BSP的特点,:,硬件相关性,:因为硬件具有应用相关性,所以,作为高层软件与硬件之间的接口,BSP必须为操作系统提供操作和控制具体硬件的方法。,操作系统相关性,:不同的操作系统具有各自的软件层次结构,因此,针对不同的操作系统具有特定的接口形式。,Board Support Package,BSP的功能,完成嵌入式系统部分初始化,A、片级初始化,B、板级初始化,C、系统级初始化,完成硬件相关的设备驱动,设计BSP的方法,一、以典型的BSP做为参考,二、参照操作系统或芯片厂商提供的BSP模板,第二讲 嵌入式系统的组成结构,1,3,2,5,4,嵌入式系统的组成结构,嵌入式系统的硬件组成,嵌入式操作系统涉及的几个关键概念,嵌入式系统硬件涉及的几个关键概念,嵌入式操作系统,11/27/2024,嵌入式处理器,存储器,输入设备,输出设备,外围接口,软件,硬件单元,中央处理器是嵌入式系统的核心,负责控制整个系统的执行。,包括微处理器、微控制器、DSP处理器、专用处理器、SOC(System on Chip),存储器按存储信息的功能可分为只读存储器ROM(Read Only Memory)和随机存储器RAM(Random Access Memory),嵌入式系统中的输入形式一般包括触摸屏、语音输入、按键和虚拟键盘等,输出设备则主要有LCD 显示和语音输出,外围接口主要有GPIO、串口、I,2,C总线、USB总线和IEEE 1394总线等等,典型嵌入式系统基本组成硬件,最小硬件系统,用最少的元件组成的可以工作的系统,20世纪80年代,中后期,20世纪90年代,初期,20世纪90年代,中后期,21世纪,初期,制作工艺,1 - 0.8,m,0.8 - 0.5,m,0.5 0.35,m,0.25 - 0.13,m,主频, 33 MHz,100 MHz,200 MHz, 500K,2M,5M,22M,位数,8/16bit,8/16/32bit,8/16/32bit,8/16/32/64bit,嵌入式微处理器的发展,嵌入式微处理器的特点,基础是通用微处理器,与通用微处理器相比的区别:,体积小、重量轻、成本低、可靠性高,功耗低,工作温度、抗电磁干扰、可靠性等方面增强,体系结构,指令集,性能,功耗和管理,成本,集成度,嵌入式微处理器的集成度,用于桌面和服务器的微处理器的芯片内部通常,只包括CPU核心、Cache、MMU、总线接口等部分,,其他附加的功能如外部接口、系统总线、外部总线和外部设备独立在其他芯片和电路内。,嵌入式微处理器除了集成CPU核心、Cache、MMU、总线等部分外,还集成了各种外部接口和设备,如,中断控制器,、,DMA,、,定时器,、,UART,等。,符合嵌入式系统的低成本和低功耗需求,,一块单一的集成了大多数需要的功能块的芯片价格更低,功耗更少。,单芯片方式(Single Chip),芯片组方式(Chip Set):由微处理器主芯片和一些从芯片组成,嵌入式微处理器的集成度,嵌入式微处理器是面向应用的,其片内所包含的,组件的数目和种类,是由它的市场定位决定的。,在最普通的情况下,嵌入式微处理器包括:,片内存储器:部分嵌入式微处理器,外部存储器的控制器,外设接口,(,串口,并口,),LCD,控制器:面向终端类应用的嵌入式微处理器,中断控制器,,DMA,控制器,协处理器,定时器,,A/D,、,D/A,转换器,多媒体加速器:当高级图形功能需要时,总线,其他标准接口或外设,嵌入式微处理器的种类,1000,多种硬件处理器,分为,MCU,、,DSP,、,MPU,、,SOC,ARM RISC,(,ARM,),TMS320 DSP,(,TI,),Trimedia,(,Philips,),StrongARM,(,Intel,),Xscale,(,Intel,),MIPS RISC,(,MIPS,),DragonBall,(,Motorola,),对比,嵌入式,微处理器,嵌入式,微控制器,嵌入式,DSP处理器,嵌入式,片上系统,硬件尺寸,(包括外围),大,小,小,最小,功耗,大,小,中,中,开发难度,小,大,大,大,软件移植性,好,坏,坏,坏,成本,高,最低,低,中,性能,强,弱,较强,较强,应用领域,通用,较通用低端,专用,较通用高端,网络能力,强,弱,较弱,强,实时性,差,好,好,一般,从计算机角度看,单片机功能太简单,性能太差,DSP,太专用,可以看成一个外设,通用处理器与,SOC,是主要发展方向,主流的嵌入式微处理器,目前主流的嵌入式微处理器系列主要有ARM系列、MIPS系列、PowerPC系列、Super H系列和X86系列等。,属于这些系列的嵌入式微处理器产品很多,有上千种以上。,Units,(millions),Source: Andrew Allison, Inside The New Computer Industry, January 2001,ARM处理器的分类,结构体系版本(,Architecture,),ARM v4T,ARM v5TE,ARM v6,ARM Cortex (v7),Processor Family,ARM7,ARM9,ARM10,ARM11,ARM Cortex,按应用特征分类,应用处理器,Application Processor,实时控制处理器,Real-time Controller,微控制器,Micro-controller,特征:MMU, Cache,最快频率、最高性能、合理功耗,特征:MPU, Cache,实时响应、合理性能、较低功耗,特征:no sub-memory system,一般性能、最低成本、极低功耗,嵌入式外围接口电路和设备接口,嵌入式外围设备,:在嵌入式系统硬件构成中,除核心控制部件,(嵌入式微处理器/DSP为核心的微控制器、SoC),以外的各种,存储器,、,输入/输出接口,、,作为人机接口的,显示器/键盘,、,串行通信接口等,。,根据外围设备的功能可分为以下5类:,存储器,通信接口,输入输出设备,设备扩展接口,电源及辅助设备,嵌入式,处理器,可编程,逻辑器件,大容量,存储器,电源模块,解决方案,嵌入式系统周边元器件,嵌入式系统必备接插件,PowerPC 微处理器,ARM微处理器,TMS320C6000系列DSP,TMS320C5000系列DSP,TMS320C2000系列DSP,TI公司其它DSP系列,VirtexII Platform FPGA Virtex(E)系列 FPGA,Spartan(XL)系列FPGA,SpartanII(E)系列FPGA,XC95(XL)系列 CPLD,CoolRunner系列 CPLD,嵌入式系统构成,Xilinx,TI & Intel & Motorola,TI Power Trend嵌入式电源方案,美国ERICSSON电源模块,日本COSEL电源模块,美国VICOR电源模块,法国GAIA军用电源,怀特电子高可靠性存储器系列,IDT公司FIFO及双口RAM,Cypress公司高速SRAM系列,现代电子公司SDRAM系列,Intel公司 大容量Flash系列,AMP公司接插件系列,AI公司PCB插座系列,AMP & AI,嵌入式系统硬件,第二讲 嵌入式系统的组成结构,1,3,2,5,4,嵌入式系统的组成结构,嵌入式系统的硬件组成,嵌入式操作系统涉及的几个关键概念,嵌入式系统硬件涉及的几个关键概念,嵌入式操作系统,冯,诺依曼体系结构,/,哈佛体系结构,CISC/RISC,影响,CPU,性能的因素,存储器系统,I/O,接口,嵌入式系统硬件涉及的几个关键概念,冯诺依曼体系结构模型,冯诺依曼体系的特点:,数据与指令都存储在同一存储空间中,统一编址,指令和数据通过同一总线访问,被大多数计算机所采用,ARM7,冯诺依曼体系,指令寄存器,控制器,数据通道,输入,输出,中央处理器,存储器空间,程序,指令0,指令1,指令2,指令3,指令4,数据,数据0,数据1,数据2,地址,指令,地址,数据,缺点,: 取指令和存取数据要从同一个存储空间存取,经由同一总线传输,因而它们无法重叠执行,哈佛体系结构,指令寄存器,控制器,数据通道,输入,输出,中央处理器,程序存储器空间,指令0,指令1,指令2,数据存储器空间,数据0,数据1,数据2,地址,指令,地址,数据,哈佛体系结构的特点:,程序与数据在不同存储空间;每个存储器独立编址、独立访问,使用程序和数据总线,使数据吞吐率提高一倍,适合于数字信号处理,大多数,DSP,都是哈佛结构,ARM9,是哈佛结构,1944年,哈佛大学的Howard Aiken发明了Harvard Mark系列计算机,并且在其中采用了,分开的,指令存储器和数据存储器,这就是后来著名的“哈佛结构”,由于取指令和存取数据分别经由不同的存储空间和不同的总线,使得各条指令可以重叠执行,这样,也就克服了数据流传输的瓶颈,提高了运算速度。,CISC和RISC,CISC:复杂指令集(Complex Instruction Set Computer),具有大量的指令和寻址方式,8/2原则,:80%的程序只使用20%的指令,大多数程序只使用少量的指令就能够运行。,RISC:精简指令集(Reduced Instruction Set Computer),在通道中只包含最有用的指令,确保数据通道快速执行每一条指令,使CPU硬件结构设计变得更为简单,传统的CISC指令集随着计算机的发展引入了各种各样的复杂指令,使得指令集和为此要实现这些指令的计算机体系结构越来越复杂,已经不堪重负。,指令规整、对称、简单,指令小于,100,条,基本寻址方式只有,2,3,种,单周期指令,便于流水操作,大量的寄存器(不少于,32,个),CISC与RISC的数据通道,IF,ID,ALU,MEM,REG,微操作通道,开始,退出,IF,ID,REG,ALU,MEM,开始,退出,单通数据通道,CISC的数据通道,RISC的数据通道,CISC与RISC的对比,CISC,RISC,价格,由硬件完成部分软件功能,硬件复杂性增加,芯片成本高,由软件完成部分硬件功能,软件复杂性增加,芯片成本低,性能,减少代码尺寸,增加指令的执行周期数,使用流水线降低指令的执行周期数,但增加代码尺寸,指令集,大量的混杂型指令集,有简单快速的指令,也有复杂的多周期指令,符合HLL(high level language),简单的单周期指令,在汇编指令方面有相应的CISC微代码指令,高级语言支持,硬件完成,软件完成,寻址模式,复杂的寻址模式,支持内存到内存寻址,简单的寻址模式,仅允许LOAD和STORE指令存取内存,其它所有的操作都基于寄存器到寄存器,控制单元,微码,直接执行,寄存器数目,寄存器较少,寄存器较多,影响CPU性能的因素:流水线、超标量和缓存,流水线技术,:几个指令可以并行执行(,使指令的执行速度或数据的处理速度更快,,克服早期计算机指令执行和数据处理串行进行产生的处理器闲置时间的弊端,),提高了CPU的运行效率,内部信息流要求通畅流动,取指,分析,执行,译码,取指,执行add,译码,取指,执行sub,译码,取指,执行cmp,时间,Add,Sub,Cmp,t,2,t,3,t,4,t,5,t,流水线,:在CPU中把一条指令分解成多个可单独处理的操作,使每个操作在一个专门的硬件站(stage),上执行,这样一条指令需要顺序地经过流水线中多个站的处理才能完成,但是前后相连的几条指令可以依次流入流水线中,在多个站间重叠执行,因此可以实现指令的并行处理。,指令流水线以ARM为例,为增加处理器指令流的速度,ARM7 系列使用3级流水线。,允许多个操作同时处理,比逐条指令执行要快。,PC指向正被取指的指令,而非正在执行的指令。,Fetch,Decode,Execute,从存储器中读取指令,解码指令中用到的寄存器,寄存器读(从寄存器Bank),移位及ALU操作,寄存器写(到寄存器Bank ),PCPC,PC - 4PC-2,PC - 8PC - 4,ARMThumb,最佳流水线,该例中用6个时钟周期执行了6条指令。,所有的操作都在寄存器中(单周期执行)。,指令周期数 (CPI) = 1。,操作,周期,1 2 3 45 6,ADD,SUB,MOV,AND,ORR,EOR,CMP,RSB,Fetch,Decode,。,Fetch,Execute,Decode,Fetch,Execute,Decode,Fetch,Execute,Decode,Fetch,Fetch,Execute,Decode,Execute,Decode,Fetch,Execute,Decode,Fetch,流水线能够正常工作的条件:任意时刻,每一级所使用的硬件必须能独立操作,不能多级同时占用同一硬件资源。,在正常情况下,每条指令都被划分成这样,3,个时钟周期来完成,即指令执行时间(,Latency,)是,3,周期。,流水线的执行使得程序计数器,PC,必须在当前指令取指前计数。对于,ARM,处理器的,3,级流水线,以当前,PC,取指后,,PC,值会增加为,PC,4,。,超标量执行,超标量,:配置多个执行部件和指令译码电路,能同时执行多条 指令。,超标量执行,:超标量CPU采用多条流水线结构。,执行1,预取,指令CACHE,译码2,译码1,执行2,执行1,预取,译码2,译码1,执行2,流水线1,流水线2,数据,借助硬件资源重复,(例如有两套译码器和ALU等),来实现空间的并行操作,高速缓存(CACHE),1、为什么采用高速缓存,微处理器的时钟频率比内存速度提高快得多,高速缓存可以提高内存的平均性能。,2、高速缓存的工作原理,依据,:程序和数据访问的局部性原理。,高速缓存是一种小型、快速的存储器,它保存部分主存内容的拷贝。,CPU,高速缓存控制器,CACHE,主存,数据,数据,地址,Cache的设计思想,:,把在一段时间内、一定地址范围中被频繁访问的信息集合,成批地从主存中读到一个能,高速存取的小容量存储器,中存放起来,供程序在这段时间内随时使用,从而减少或不再去访问速度较慢的主存,以加快程序的运行速度。,以CPU为核心看,将CPU直接参与的事件称为,同步事件,,CPU未直接参与的称为,异步事件,。,cache的操作都是同步的,,但是如果在写一个外部设备的驱动时为了减少CPU的参与,用DMA来搬移数据,那么DMA搬移数据这个事件便是异步事件。,图1中,RAM内存从地址0x00000000到0x000ffffff 1M范围内的内容全部被调入cache中;,现假定外部设备有新的数据到来并发生了中断,CPU在设定完DMA控制器后继续,其工作,DMA根据设定将1M的新数据装入RAM中并通知CPU新的数据到了。(,此时,出现数据不一致,),当CPU要对新的数据操作时,因为此外部设备的数据被存放在从0x00000000开始的RAM中,而此段数据又恰好被cache命中,那么CPU将直接访问cache中的数据,可是cache中的数据并非刚刚得到的新数据。CPU并不知道此时cache中的数据已经过时。,解决的办法:,在CPU访问异步事件控制的数据,前,一定要强行刷新cache中的内容,;反 之,,从内存到外部设备搬移数据前一定要回写内存,。,一般CPU都提供了cache的刷新和回写机制,甚至有的CPU,还有,cache,保护(即强制其不要对某一范围内的内存使用,cache,机制)。,CACHE刷新与回写,DMA参与操作情况下的cache操作,总线是计算机中各模块传输信息的,公共信号线集合,。为各模块间,甚至模块各部件之间提供公共的、标准化的信息通路。,总线的特点在于其,公用性,(即它可以同时挂接多个模块或设备,作为所有挂接模块或设备公用的信号载体),。总线,在同一时刻,只能允许一对模块或设备进行信息交换,。当有多个模块或设备需要同时使用总线进行信息传输时,只能采用,分时方式,,并且要对总线使用的,优先权,进行,仲裁管理,。, 总线结构包括:,传输信息的,传输线路,和,总线控制逻辑, 嵌入式系统采用总线结构有以下优点:,总线和总线桥, 简化了系统结构。, 优化了硬件和软件设计。, 便于系统的扩充和更新。,存储器系统的层次结构,寄存器,高速缓存SRAM,主存储器DRAM,本地存储器 Flash、ROM、磁盘,网络存储器 Flash、ROM、磁盘,时钟周期,0,110,50100,20000000,存储器系统,RAM,:随机存取存储器,,SRAM,:静态随机存储器,,DRAM,:动态随机存储器,1)SRAM比DRAM快,2)SRAM比DRAM耗电多,3)DRAM存储密度比SRAM高得多,4)DRAM需要周期性刷新,ROM,:只读存储器,FLASH,:闪存,NOR,NAND,写入/擦除一个块的操作时间,15ms,24ms,读性能,12001500KB,600800KB,写性能,80KB,200400KB,接口/总线,SRAM接口/独立的地址数据总线,8位地址/数据/控制总线,I/O接口复杂,读取模式,随机读取,串行地存取数据,成本,较高,较低,单元尺寸约为NOR的一半,生产过程简单,同样大小的芯片可以做更大的容量,容量及应用场合,164MB,主要用于存储代码,8MB4GB,主要用于存储数据,擦写次数(耐用性),约10万次,约100万次,位交换(bit位反转),少,较多,关键性数据需要错误探测/错误更正(EDC/ECC)算法,坏块处理,无,因为坏块故障率少,随机分布,无法修正,输入输出接口,I/O,A/D,、,D/A,键盘,LCD,存储器接口,设备接口,USB:Universal Serial Bus,通用串行总线,大家生活中常见的与USB有关的东西有:,U盘、移动硬盘、无驱型的MP3(U盘),USB接口的键盘、Mouse、打印机、数码相机,即插即用,热插拨,系统不需重启便可工作,且易于扩展(127个),USB2.0以低成本实现高达480Mb/s的传输率(USB1.1的全速设备可达12Mb/s; USB1.0的全速设备可达1.5Mb/s),接口标准统一、端口供电,例如:USB,一个典型的USB通讯系统,HOST系统,HUB,DEVICE,D,DEVICE,应用软件+驱动程序Ms.Win+接口芯片,HUB,U盘,其他,数据采集器,驱动代码+嵌入式处理器+HOST芯片,HUB,U盘,其他,数据采集器,通用系统模型,PC机中的情况,嵌入式系统应用,知识产权核(IP核,intellectual property,),知识产权,(IP),电路或核是设计好并经过验证的集成电路功能单元。,IP,复用意味着设计代价降低(时间,价格)。,IP,核的类别,:,微处理器,: ARM, PowerPC;,存储器,: RAM, memory controller;,外设,: PCI, DMA controller;,多媒体处理,: MPEG/JPEG ;,encoder/decoder ;,数字信号处理器,(DSP),;,通信,: Ethernet controller, router,。,Soft Cores(“code”)(软核),HDL语言描述;,灵活度高,可修改;,与工艺独立,可根据具体的加工工艺重新综合;,IP很难保护。,Firm cores(“code+structure”)(固核),逻辑综合后的描述;,与工艺相关。,Hard cores(“physical”)(硬核),物理综合后的描述;,准备流片;,包含工艺相关的布局和时序信息;,IP很容易保护,但灵活性和可移植性差。,多数的处理器和存储器,IP核的商业模型,三种模式,1.设计者提供设计和工具的许可证,DSP Group (Pine and Oak Cores), 3Soft, ARM。,提供包括HDL在内的模拟模型,工具或仿真器。,使用者负责设计制造。,2.,核厂商设计并制造集成电路芯片,TI, Motorola, Lucent。,VLSI, SSI, Cirrus, Adaptec。,3.,核厂商卖核, 负责为客户设计并制造芯片,LSI logic, TI, Lucent。,固化宏单元(硬核),ARM920T,ARM7TDMI,ARM720T,ARM1022E,可综合内核(软核),ARM926EJ-S,ARM7TDMI-S,ARM1026EJ-S,测试芯片,ARM10200E,第二讲 嵌入式系统的组成结构,1,3,2,5,4,嵌入式系统的组成结构,嵌入式系统的硬件组成,嵌入式操作系统涉及的几个关键概念,嵌入式系统硬件涉及的几个关键概念,嵌入式操作系统,11/27/2024,软件组成,有时也叫板级支持包,是一个介于硬件与软件之间的中间层次。硬件抽象层通过特定的上层接口与操作系统进行交互,向操作系统提供底层的硬件信息,并根据操作系统的要求完成对硬件的直接操作,Hardware Abstraction Layer :BSP&Device Driver,SCSIDriver,Flash,Driver,MMUDriver,CacheDriver,SerialDriver,EthernetDriver,DeviceDrivers,支持嵌入式系统应用的操作系统软件,它是嵌入式系统(包括硬、软件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器Browser等,Hardware Independent Software,TCP/IP Stack,I/O System,RTOS libraries,RTOS Kernel,File System,Boot Loader,中间件位于操作系统和应用软件之间,屏蔽了各种操作系统提供不同应用程序接口的事实,向应用程序提供统一的接口,从而便于用户开发应用程序,同时也使应用程序具有跨平台的特性。,嵌入式应用程序运行于操作系统之上,利用操作系统提供的机制完成特定功能的嵌入式应用,不同的系统需要设计不同的嵌入式应用程序。它是整个系统功能的体现,系统的能力总是通过应用程序表现出来。,一个嵌入式系统可简单的没有支撑软件,甚至没有操作系统,但却不能没有应用软件,否则它就不能成为一个系统。,概述,嵌入式操作系统可以统称为应用在嵌入式系统中的操作系统,它具有一般操作系统的功能,同时具有嵌入式软件的特点,主要有:,可固化存储,可配置、可剪裁,独立的板级支持包,可修改,不同的,CPU,有不同的版本,应用的开发需要有集成的交叉开发工具,一般操作系统,只注重平均性能,如对于整个系统来说,所有任务的平均响应时间是关键,而不关心单个任务的响应时间。,嵌入式实时操作系统,最主要的特征是性能上的“实时性”,也就是说,系统的正确性不仅依赖于计算的逻辑结果,也依赖于结果产生的时间,。,从这个角度上看,可以把实时系统定义为“,一个能够在指定的或者确定的时间内,完成系统功能和对外部或内部、同步或异步事件做出响应的系统,”。,概述,近十年来,嵌入式操作系统得到飞速的发展,从支持,8,位微处理器到,16,位、,32,位甚至,64,位微处理器;,从支持单一品种的微处理器芯片到支持多品种微处理器芯片;,从只有内核到除了内核外还提供其他功能模块,如文件系统,,TCP/IP,网络系统,窗口图形系统等。,随着嵌入式系统应用领域的扩展,目前嵌入式操作系统的市场在不断细分,出现了针对不同领域的产品,这些产品按领域的要求和标准提供特定的功能。,嵌入式操作系统的演变,*,Percent of total software supplied by RTOS vendor in a typical embedded device,10%*,Kernel,30%*,Kernel,Networking,File System,75%*,Kernel,Networking,File System,Multiprocessing,Memory Management,Networking Utility,Windows API,Application,Application,Application,Application,90%*,Kernel,Networking,File System,Multiprocessing,Fault Tolerance,Distributed Objects,Advanced Networking,Advanced Interconnect,Java,Browser / GUI,嵌入式操作系统分类,从应用领域来分,面向信息家电的嵌入式操作系统,面向智能手机的嵌入式操作系统,如,SymbianOS,、,MS Mobile OS,、,PalmOS,、,Embedded Linux,等,面向汽车电子的嵌入式操作系统,面向工业控制的嵌入式操作系统,.,从实时性的角度来分,实时嵌入式操作系统,:具有强实时特点,如,VxWorks,、,QNX,、,Nuclear,、,OSE,、,DeltaOS,、,各种,ITRON OS,等。,非实时嵌入式操作系统,:一般只具有弱实时特点,如,WinCE,、,版本众多的嵌入式,Linux,、,PalmOS,等。,从嵌入式系统的商业模式来分类,商用型,:功能稳定、可靠,有完善的技术支持和售后服务,,开发费用,+,版税,。,开源型,:开放源码,只收服务费,没有版税。 如,Embedded,linux,,,RTEMS,,,eCOS,。,嵌入式操作系统的关键技术,体系结构,系统组成,常见的嵌入式操作系统,C/OS-II,WinCE,Linux,VxWorks,Palm OS,QNX,第二讲 嵌入式系统的组成结构,1,3,2,5,4,嵌入式系统的硬件组成,嵌入式操作系统涉及的几个关键概念,嵌入式系统硬件涉及的几个关键概念,嵌入式操作系统,嵌入式系统的组成结构,监,控,程,序,操,作,系,统,实时操作系统,分时操作系统,多道批处理操作系统,时 间 先 后,适用于多个用户共享系统资源,适用于计算中心等较大的计算机系统,适用于嵌入式设备和有实时性要求的系统中,实时操作系统是我们关注的重点,任务的定义及其主要特性,任务是一个具有,独立功能,的,无限循环,的程序段的一次运行活动,是实时内核调度的单位,具有以下特性:,动态性,:任务状态是不断变化的。,一般分为就绪态、运行态和等待态。,在多任务系统中,任务的状态将随着系统的需要不断进行变化。,并行性,:,系统中同时存在多个任务,这些任务在宏观上是同时运行的。,异步独立性,:,每个任务各自按相互独立的不可预知的速度运行,走走停停,。,任务的内容,任务主要包含以下内容:,代码,:一段可执行的程序,数据,:程序所需要的相关数据(变量、工作空间、缓冲区等),堆栈,程序执行的上下文环境,嵌入式操作系统与多任务,多任务运行的实现,实际上是靠CPU(中央处理单元)在许多任务之间转换、调度。,CPU只有一个,轮番服务于一系列任务中的某一个。多任务运行使CPU的利用率得到最大的发挥,并使应用程序模块化。,在实际应用中,多任务的最大特点是,开发人员可以将很复杂的应用程序层次化。,时间轴,任务1,任务2,任务3,任务1,任务2,任务3,任务1,任务2,任务3,CPU寄存器,任务,控制,块1,任务,控制,块2,任务,控制,块n,休眠、就绪、运行、挂起、被中断,任务,1,任务,2,任务,n,CPU,寄存器,任务的状态,睡眠态,相当于该任务驻留在内存中,但并不被内核所调度,就绪,意味着该任务已经准备好,可以运行了,但由于该任务的优先级比正在运行的任务的优先级低,还暂时不能运行,运行态,是指任务掌握了CPU的控制权,正在运行中,挂起状态,也可以叫做等待事件态WAITING,指该任务在等待,等待某一事件的发生(例如等待某外设的I/O操作,等待某共享资源由暂不能使用变成能使用状态,等待定时脉冲的到来或等待超时信号的到来以结束目前的等待,等等),发生中断时,CPU提供相应的中断服务,原来正在运行的任务暂不能运行,就进入了被,中断状态,资源和共享资源,资源,(Resource),任何为任务所占用的实体都可称为,资源,。资源可以是输入输出设备,,例如打印机、键盘、显示器,,资源也可以是一个变量,一个结构或一个数组等。,共享资源,(Shared Resource),可以被一个以上任务使用的资源叫做,共享资源,。为了防止数据被破坏,每个任务在与共享资源打交道时,必须独占该资源。这叫做,互斥,(mutual exclusion)。,内核(Kernel),多任务系统中,内核负责管理各个任务,或者说为每个任务分配CPU时间,并且负责任务之间的通信。,内核提供的基本服务是,任务切换,。内核本身也增加了应用程序的额外负荷,代码空间增加ROM用量,内核本身的数据结构增加了RAM的用量。内核本身对CPU的占用时间一般在2到5个百分点之间。,调度(Scheduler或,dispatcher,),内核的主要职责之一,决定哪个任务运行。多数实时内核是基于优先级调度法的。每个任务根据其重要程度被赋予一定优先级。CPU总是让处在就绪态的优先级最高的任务先运行。,系统内核(Kernel)与调度(Scheduler),抢占式与非占先式,(,Preemptive & Non-Preemptive,),可以被一个以上的任务调用,而不必担心数据的破坏。,可重入型函数,任何时候都可以被中断,一段时间以后又可以运行,而相应数据不会丢失。可重入型函数,只使用局部变量,,即变量保存在CPU寄存器或堆栈中。,可重入型函数,一个不可重入型函数的例子,int Temp;,Void swap (int *x,int*y),Temp=*x;,*X=*Y;,*y=Temp;,一个可重入型函数的例子,Void swap (int *x,int*y),int Temp;,Temp=*x;,*X=*Y;,*y=Temp;,代码的临界段(Critical Section Of Code),代码的临界段也称为,临界区,,指处理时不可分割的代码。,一旦临界段代码开始执行,则不允许任何中断产生,否则将导致错误。这种操作又称为,原子操作,。,为确保临界段代码的执行,在进入临界段之前要关中断,而临界段代码执行完以后要立即开中断,(在任务切换时,地址、指令、数据等寄存器压入堆栈来保护),。,本讲作业,简述,BSP,的概念、特点。,嵌入式微处理器有哪些类别?试列举一些实例。,翻阅资料谈谈你对,CISC,和,RISC,的理解。,嵌入式操作系统的特点?列举常见的嵌入式操作系统,并简述其特点和应用领域。,简述抢占式内核,(preemptive),和非抢占式内核,(non-preemptive),的区别?,
展开阅读全文