1、嵌入式系统嵌入式系统及其软件开发概述及其软件开发概述xlanchen2006.5.17Embedded Operating Systems2主要内容主要内容l嵌入式系统基本概念l嵌入式硬件的发展l嵌入式软件及其开发l嵌入式操作系统及系统开发l典型嵌入式操作系统介绍l嵌入式操作系统选型xlanchen2006.5.17Embedded Operating Systems3主要内容主要内容l嵌入式系统基本概念嵌入式系统基本概念l嵌入式硬件的发展l嵌入式软件及其开发l嵌入式操作系统及系统开发l典型嵌入式操作系统介绍l嵌入式操作系统选型xlanchen2006.5.17Embedded Operati
2、ng Systems4嵌入式系统无处不在嵌入式系统无处不在xlanchen2006.5.17Embedded Operating Systems5嵌入式系统开发技术嵌入式系统开发技术l嵌入式系统开发技术是微处理器、单片机、微处理器等的应用技术,包含硬件系统和操作系统硬件系统和操作系统两大部分。l嵌入式系统的开发具有系统级应用开发技术系统级应用开发技术的基本特征。xlanchen2006.5.17Embedded Operating Systems6什么是嵌入式系统:什么是嵌入式系统:来自来自IEEE的定义的定义“Embedded system is devices used to contro
3、l,monitor,or assist the operation of equipment,machinery or plants”.IEEEl上述定义主要从应用上加以定义。可以看出:嵌入式系统是软硬件的综合体,还可以涵盖机械等附属装置。xlanchen2006.5.17Embedded Operating Systems7什么是嵌入式系统:什么是嵌入式系统:广义上广义上l嵌入式系统是一种应用系统,它至少包含一个可编程的计算机(通常是某种形式的微控制器、微处理器或数字信号处理芯片(DSP)且使用该系统的人一般并未意识到该系统是基于计算机的。xlanchen2006.5.17Embedded
4、Operating Systems8什么是嵌入式系统:什么是嵌入式系统:国内的经典定义国内的经典定义l嵌入式系统是“以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统”l一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等部分组成,用于实现对其他设备的控制、监视或管理等功能。xlanchen2006.5.17Embedded Operating Systems9l可以从以下几个方面来理解国内对嵌入式系统的定义:1.嵌入式系统是面向用户、面向产品、面向应用的,它必须与具体应用相结合才会具有生命力、才更具有
5、优势。即嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须结合实际系统需求进行合理的裁减利用。xlanchen2006.5.17Embedded Operating Systems102.嵌入式系统是将先进的计算机技术、半导体技术和电子技术以及各个行业的具体应用相结合后的产物。这就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。所以,介入嵌入式系统行业,必须有一个正确的定位。例如lPalm OS之所以在PDA领域占有70以上的市场,就是因为其立足于个人电子消费品,着重发展图形界面和多任务管理;l而风河的vxWorks之所以在火星车上得以应用,则是因为其高实时性和高可
6、靠性。xlanchen2006.5.17Embedded Operating Systems113.嵌入式系统必须根据应用需求可对软硬件进行裁剪,满足应用系统的功能、可靠性、成本、体积等要求。所以,如果能建立相对通用的软硬件基础,然后在其上开发出适应各种需要的系统,是一个比较好的发展模式。目前的嵌入式系统的核心往往是一个只有几KB到几十KB的微内核,需要根据实际的使用进行功能扩展或者裁减,但是由于微内核的存在,使得这种扩展能够非常顺利地进行。xlanchen2006.5.17Embedded Operating Systems124.同时还应该看到,嵌入式系统本身还是一个外延极广的名词。凡是与
7、产品结合在一起的具有嵌入式特点的控制系统都可以叫嵌入式系统,而且有时很难给它下一个准确的定义。xlanchen2006.5.17Embedded Operating Systems13嵌入式系统的体系结构嵌入式系统的体系结构l一般而言,嵌入式系统的构架可以分成四个部分:l处理器、存储器、输入输出(I/O)、软件l多数嵌入式设备的应用软件和操作系统都紧密结合,在这里对其不加区分,这也是嵌入式系统和Windows 系统的最大区别)。软件处理器存储器输入输出xlanchen2006.5.17Embedded Operating Systems14嵌入式系统特点嵌入式系统特点l嵌入式计算机系统同通用型
8、计算机系统相比具有以下特点:1.嵌入式系统通常是面向特定应用面向特定应用的。嵌入式CPU与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。xlanchen2006.5.17Embedded Operating Systems152.嵌入式系统的硬件和软件都必须高效率高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力3.嵌入式系统和具
9、体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期具有较长的生命周期。xlanchen2006.5.17Embedded Operating Systems164.为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中5.嵌入式系统本身不具备自举开发能力不具备自举开发能力,即使设计完成以后用户通常也不能对其中的程序功能进行修改,必须有一套开发工具和环境才能进行开发。xlanchen2006.5.17Embedded Operating Systems17主要内容主要内容l嵌入
10、式系统基本概念:定义、体系结构、特点l嵌入式硬件的发展嵌入式硬件的发展l嵌入式软件及其开发l嵌入式操作系统及系统开发l典型嵌入式操作系统介绍l嵌入式操作系统选型xlanchen2006.5.17Embedded Operating Systems18嵌入式系统硬件嵌入式系统硬件l从硬件方面来讲,各式各样的嵌入式处理器是嵌入式系统硬件中的最核心的部分。l目前,世界上具有嵌入式功能特点的处理器已超过1000种,流行体系结构包括MCU、MPU等30多个系列。l目前嵌入式处理器的寻址空间:可以从64KB到16MB,处理速度:最快可以达到2000MIPS,封装:从几个引脚到几百个引脚不等。xlanche
11、n2006.5.17Embedded Operating Systems19嵌入式系统硬件分类嵌入式系统硬件分类l目前来讲,嵌入式处理器可以分成这样一些类型l嵌入式微处理器(MPU)l嵌入式微控制器(MCU)l嵌入式DSP处理器 l嵌入式片上系统(SoC)xlanchen2006.5.17Embedded Operating Systems20嵌入式系统硬件分类嵌入式系统硬件分类l目前来讲,嵌入式处理器可以分成这样一些类型l嵌入式微处理器(嵌入式微处理器(MPU)l嵌入式微控制器(MCU)l嵌入式DSP处理器 l嵌入式片上系统(SoC)xlanchen2006.5.17Embedded Ope
12、rating Systems21嵌入式微处理嵌入式微处理MPUlMPU(Microprocessor Unit)CPU lMPU是由通用计算机中的CPU演变而来的,在本质上与通用计算机的CPU是一样的,只是在具体的实现细节和功能上有所不同。l装配在专门设计的电路板上,只保留跟嵌入式应用紧密相关的功能部件,去除其他冗余功能部件,从而大幅减小系统的体积和功耗。l为了满足嵌入式应用的特殊需求,MPU在工作温度、抗电磁干扰、可靠性方面一般都做了各种增强,在功能上会失去一些在嵌入式领域不常用的功能单元xlanchen2006.5.17Embedded Operating Systems22l和工业控制计
13、算机相比,lMPU具有体积小、质量轻、成本低、可靠性高的优点,但是在电路板上必须包括ROM、RAM、总线接口、各种外设等器件,从而降低了系统的可靠性,技术保密性也比较差。l由于MPU及其存储器、总线、外设等安装在一块电路板上,称为单板计算机,如STD-BUS、PC104等。lMPU目前主要有:lintel x86、IBM PowerPC、motorola 68K/coldfire、MIPS、ARM、Hitachi SuperH等系列xlanchen2006.5.17Embedded Operating Systems23典型嵌入式微处理器:典型嵌入式微处理器:ARM系列系列lARM(Advan
14、ced RISC Machines)是ARM公司的高性能、廉价、低功耗的RISC处理器,适用于多种领域l如嵌入控制、消费/教育类多媒体、DSP和移动式应用等。lARM公司将其硬件技术授权给世界上许多著名的半导体厂商,包括Intel,IBM,LG,NEC,SONY,Philps这样的大公司。关于软件系统的合伙人,则包括Microsoft、SUN等一系列著名公司xlanchen2006.5.17Embedded Operating Systems24lARM公司提供一系列CPU内核、体系扩展、微处理器和系统芯片方案。l由于所有产品均采用一个通用的基本体系结构,所以相同的软件理论上可在所有产品中运行
15、l目前,ARM公司常见的处理器系列有:lARM7、ARM9、ARM10、ARM11等xlanchen2006.5.17Embedded Operating Systems25典型嵌入式微处理器:典型嵌入式微处理器:MIPSlMIPS Microprocessor without Interlocked Piped Stages“无内部互锁流水线微处理器”l也是现在比较流行的一种RISC处理器,其机制是尽量利用软件办法避免流水线中的数据相关问题l最早是在20世纪80年代初由美国斯坦福大学Hennessy教授领导的研究小组研制出来的l在嵌入式方面,仅次于ARMl应用领域覆盖游戏机,移动电话,数码相
16、机,ATM,路由器,打印机,掌上电脑等等各个方面,非常广泛xlanchen2006.5.17Embedded Operating Systems26国内的嵌入式微处理器:国内的嵌入式微处理器:龙芯龙芯l中国科学院计算所研制l具有自主知识产权 l龙芯1号:32位MIPS处理器l龙芯2号l龙芯3号l龙芯+Linuxl我们希望:龙芯+MiniCore xlanchen2006.5.17Embedded Operating Systems27手机的大概组成手机的大概组成 微处理器 Bus ROM or Flash 键盘 无线电信号发射与接收 LCD 部件 声音设备 DSP 其他外设 RAM xlanc
17、hen2006.5.17Embedded Operating Systems28嵌入式系统硬件分类嵌入式系统硬件分类l目前来讲,嵌入式处理器可以分成这样一些类型l嵌入式微处理器(MPU)l嵌入式微控制器(嵌入式微控制器(MCU)l嵌入式DSP处理器 l嵌入式片上系统(SoC)xlanchen2006.5.17Embedded Operating Systems29嵌入式微控制器嵌入式微控制器MCU(1)lMCU=Microcontroller Unit 一般又称为单片机,即将整个计算机系统集成到一块芯片中lMCU一般以某种微处理器内核为核心,芯片内部集成ROM/EPROM,总线,总线逻辑,定时
18、器,I/O单元,串口,A/D,D/A,flash等各种必要功能和外设 l为适应不同的应用需求,一般一个系列的单片机具有多种衍生产品,每种衍生产品的处理器内核基本都是一样的,不同的是存储器和外设的配置及封装xlanchen2006.5.17Embedded Operating Systems30嵌入式微控制器嵌入式微控制器MCU(2)l与MPU相比,MCU的特点是单片化,体积大大减小,成本和功耗下降,可靠性提高l微控制器的片上资源一般比较丰富,适合于比较简单的控制过程(得名的来由)xlanchen2006.5.17Embedded Operating Systems31嵌入式微控制器嵌入式微控制
19、器MCU(3)l代表性的通用系列lintel 8051,P51XA,MCS系列,motorola 68300等等l半通用系列l支持USB接口的MCU 8XC930/932、C540、C541l支持I2C、CAN-bus、LCD的MCUl等等 xlanchen2006.5.17Embedded Operating Systems32嵌入式系统硬件分类嵌入式系统硬件分类l目前来讲,嵌入式处理器可以分成这样一些类型l嵌入式微控制器(MCU)l嵌入式微处理器(MPU)l嵌入式嵌入式DSP处理器处理器 l嵌入式片上系统(SoC)xlanchen2006.5.17Embedded Operating Sy
20、stems33嵌入式嵌入式DSP处理器处理器EDSPlEDSP=Embedded Digital Signal Processor lDSP在运算量较大(特别是向量运算、指针线性寻址很多)的场合发挥重要作用 l对系统结构和指令进行了特殊设计,使其适合与执行DSP算法,编译效率较高,指令执行速度也较高 l除了数字滤波,FFT等之外,DSP处理器在各种带有智能逻辑的产品,生物信息识别终端,实时语音编码解码系统中都得到了广泛的应用l代表性的产品是Texas Instruments公司的TMS320系列和Motorola的DSP56000系列 xlanchen2006.5.17Embedded Ope
21、rating Systems34嵌入式系统硬件分类嵌入式系统硬件分类l目前来讲,嵌入式处理器可以分成这样一些类型l嵌入式微控制器(MCU)l嵌入式微处理器(MPU)l嵌入式DSP处理器 l嵌入式片上系统(嵌入式片上系统(SoC)xlanchen2006.5.17Embedded Operating Systems35嵌入式片上系统嵌入式片上系统SOC(1)lSOC=System on Chip l随着VLSI技术的发展,在一个硅片上可以包括CPU,各种外设控制器(如网络控制器、LCD控制器等)等多个功能单元,构成一个完整的复杂硬件系统,这就是嵌入式片上系统 l嵌入式处理器内核可以作为SoC的一
22、种标准库,与其他嵌入式系统外设一样,成为VLSI设计中的一种标准器件,用VHDL等语言描述,存储在器件库中l用户只需定义出其整个应用系统,仿真通过后,就可以将设计图交给半导体工厂制作xlanchen2006.5.17Embedded Operating Systems36嵌入式片上系统嵌入式片上系统SOC(2)l这样,整个嵌入式系统大部分都可以集成到一块或几块芯片中去,系统电路板将变得很简洁,对减小体积和功耗,提高可靠性非常有利lSoC可以分为通用和专用两类,市场份额比较小 xlanchen2006.5.17Embedded Operating Systems37主要内容主要内容l嵌入式系统基
23、本概念l嵌入式硬件的发展l嵌入式软件及其开发嵌入式软件及其开发l嵌入式操作系统及系统开发l典型嵌入式操作系统介绍l嵌入式操作系统选型xlanchen2006.5.17Embedded Operating Systems38嵌入式系统的软件嵌入式系统的软件l简单的嵌入式应用l若嵌入式系统的功能需求比较简单,如电动玩具、空调、冰箱等,则嵌入式系统软件只需完成较简单的功能,就不需要嵌入式操作系统的支持。l如:基于8051的应用l儿童玩具、汽车系统等等l复杂的嵌入式应用l若功能比较复杂,需要网络功能、存储器管理、进程/线程管理等,则通过嵌入式操作系统的帮助,可以加快嵌入式系统软件的开发进度和可靠性。x
24、lanchen2006.5.17Embedded Operating Systems39简单的嵌入式应用简单的嵌入式应用l简单的嵌入式应用不需要使用操作系统l当系统上电后,main函数将被调用,首先初始化,然后进入循环直到系统停电或者出现重大错误。l超级循环void main(void)/prepare for function XX_init();While(1)X();xlanchen2006.5.17Embedded Operating Systems40简单的嵌入式应用的开发过程简单的嵌入式应用的开发过程l简单的嵌入式应用的开发过程l在个人电脑上配置交叉开发环境、安装仿真器,编写程序,
25、交叉编译,在仿真器上运行测试并修改直到软件满足需求;l利用面包板开发和调试软、硬件l利用编程器将软件烧到开发好的系统中进行现场运行测试xlanchen2006.5.17Embedded Operating Systems41主要内容主要内容l嵌入式系统基本概念l嵌入式硬件的发展l嵌入式软件及其开发l嵌入式操作系统及系统开发嵌入式操作系统及系统开发l典型嵌入式操作系统介绍l嵌入式操作系统选型xlanchen2006.5.17Embedded Operating Systems42嵌入式操作系统嵌入式操作系统l简单的说,嵌入式操作系统就是支持嵌入式系统工作的操作系统。在本质上与通用的操作系统没有太
26、大的区别,一般用于比较复杂的嵌入式系统中,例如l手机、PDA等电子类消费产品l机顶盒、路由器等l对嵌入式系统的硬件有较高的要求xlanchen2006.5.17Embedded Operating Systems43基于嵌入式操作系统的嵌入式应用开基于嵌入式操作系统的嵌入式应用开发发1.确定需求2.根据需求选择合适的硬件l硬实时/软实时系统?l什么处理器?哪些辅助硬件?3.选择嵌入式操作系统4.选择开发平台l编程语言、软件开发工具l实际的开发平台包括硬件开发平台、操作系统、编程语言以及软件开发工具xlanchen2006.5.17Embedded Operating Systems445.编写
27、并优化代码l一般在主机系统上进行开发和优化工作。l代码优化主要在软件执行速度和软件尺寸之间取得平衡,满足嵌入式系统对速度和存储空间的限制。在嵌入式开发中,一般需要避免使用大型的软件库,避免使用递归编程,减少堆栈的消耗。6.在模拟器或者开发板上调试xlanchen2006.5.17Embedded Operating Systems45嵌入式软件系统的指标嵌入式软件系统的指标l尺寸l满足硬件限制l实时性l硬实时,软实时和非实时系统 l网络能力l人机交互能力xlanchen2006.5.17Embedded Operating Systems46嵌入式系统的实时性嵌入式系统的实时性l嵌入式系统一般
28、具有实时的特点。所谓实时系统是指在这种系统中,l一个优先级高的任务能够得到立即的、没有延迟的服务,不需要等待任何其他优先级低的任务,一旦它得到CPU的使用权,将一直执行直到工作结束或者出现更高级别的进程。l为了满足这样的需求,嵌入式操作系统必须具有高效的中断处理能力和高效的IO能力xlanchen2006.5.17Embedded Operating Systems47嵌入式操作系统分类嵌入式操作系统分类l硬实时系统l确保系统中的关键任务在确定的时间得到响应,不能有失败的情况,否则会出现严重后果 l软实时系统l设计的时候是有响应时间要求的,但是偶尔某些任务的响应时间超过这个限制也不会有严重的后
29、果 l非实时系统l无响应时间的要求xlanchen2006.5.17Embedded Operating Systems48实时系统的几个指标实时系统的几个指标l预测反应时间l可调度性l强负载下的稳定性xlanchen2006.5.17Embedded Operating Systems49预测反应时间预测反应时间l在工业控制系统中,实时可定义为系统对某事件响应 时间的可预测性。l一个事件发生后,系统须在一个可准确预见的时间范围内作出反应。xlanchen2006.5.17Embedded Operating Systems50可调度性可调度性l实时任务具有时限要求,调度实时任务时,需要判断是
30、否每个任务的执行都能够在其截止期限内完成。l如果每个任务的执行都能够在其截止期限内完成,则称该调度是可行的l可调度性判定(或称调度可行性判定)就是判定给定的n个实时任务在应用某种调度算法的前提下能否产生一个可行的调度。l调度算法的设计要尽可能满足任务可调度性的要求 xlanchen2006.5.17Embedded Operating Systems51强负载下的稳定性强负载下的稳定性l实时稳定性随着系统的负载有所不同l当系统的负载变得很大时,如果系统不能保证所有任务的时间要求,应当能使其中一部分关键任务始终满足时限要求xlanchen2006.5.17Embedded Operating S
31、ystems52主要内容主要内容l嵌入式系统基本概念l嵌入式硬件的发展l嵌入式软件及其开发l嵌入式操作系统及系统开发l典型嵌入式操作系统介绍典型嵌入式操作系统介绍l嵌入式操作系统选型xlanchen2006.5.17Embedded Operating Systems53嵌入式操作系统一览嵌入式操作系统一览xlanchen2006.5.17Embedded Operating Systems54常见嵌入式实时操作系统常见嵌入式实时操作系统lRTlinux及其他嵌入式实时LinuxluC/OS IIlwind river systems公司的VxworkslQNX software system
32、s公司的QNX。lpSOSlOS/9lVRTXleCOSxlanchen2006.5.17Embedded Operating Systems55常见嵌入式非实时操作系统常见嵌入式非实时操作系统 lMicrosoft公司的windows CE、Embedded windows xp lPalm公司的Palm OS lsymbian公司的EPOC l一些嵌入式linux系统xlanchen2006.5.17Embedded Operating Systems56几款典型的嵌入式操作系统介绍几款典型的嵌入式操作系统介绍luC/OS IIlThreadXlWindows系列的嵌入式操作系统lVxWo
33、rksl嵌入式Linuxxlanchen2006.5.17Embedded Operating Systems57几款典型的嵌入式操作系统介绍几款典型的嵌入式操作系统介绍luC/OS IIlThreadXlWindows系列的嵌入式操作系统lVxWorksl嵌入式Linuxxlanchen2006.5.17Embedded Operating Systems58uC/OS IIl免费的公开源码实时操作系统 l内核提供任务调度和管理、时钟管理、任务间同步与通信、内存管理和中断服务等功能l最多支持64个任务,分别对应优先级063,其中0为最高优先级 l可剥夺实时多任务内核 l调度工作的内容分为两部
34、分:最高优先级任务的寻找和任务切换 xlanchen2006.5.17Embedded Operating Systems59l内核是针对实时系统的要求来设计实现的,相对比较简单,可以满足较高的实时性要求 l但是没有网络功能和文件系统,对于像媒体播放、需要网络和图形界面支持的应用就比较差xlanchen2006.5.17Embedded Operating Systems60几款典型的嵌入式操作系统介绍几款典型的嵌入式操作系统介绍luC/OS IIlThreadXlWindows系列的嵌入式操作系统lVxWorksl嵌入式Linuxxlanchen2006.5.17Embedded Opera
35、ting Systems61ThreadX操作系统操作系统 l只需要很小的存储器容量(最低5k)l硬实时的处理能力 l有功能强大的专门的开发调试支持工具 l支持了市场上绝大部分的CPU l同样也是商业化的操作系统 xlanchen2006.5.17Embedded Operating Systems62几款典型的嵌入式操作系统介绍几款典型的嵌入式操作系统介绍luC/OS IIlThreadXlWindows系列的嵌入式操作系统系列的嵌入式操作系统lVxWorksl嵌入式Linuxxlanchen2006.5.17Embedded Operating Systems63更强的功能笔记本笔记本PC
36、 复杂的文档编辑和读写 桌面键盘输入 键盘和鼠标输入法 完整的.NET framework 支持平板电脑平板电脑 复杂的文档编辑和读写 桌面键盘输入 支持数字墨水 可以支持键盘,也可以把键盘拿走 键盘、鼠标、数字墨水和语音输入 完整的.NET framework支持 提供笔,数字墨水,手写和语音识别API小型个人产小型个人产品品 单向网络 信息消费Smartphone 信息消费 基本数据浏览 把PDA融入电话 可以与Exchange交互.NET Compact Framework ASP.NET 移动控件Pocket PC 信息消费 浏览和输入数据 把电话融入PDA 可以与Office,Exc
37、hange和SQL Server交互.NET Compact Framework ASP.NET 移动控件微软的移动平台微软的移动平台xlanchen2006.5.17Embedded Operating Systems64Windows Embedded 家族家族xlanchen2006.5.17Embedded Operating Systems65Windows CEl主要用于PDA,smartphone等个人手持终端上 l支持多线程 l支持多种软硬件l最大的特点就是能提供与pc 机类似的图形界面和主要的应用程序 l地道的商业操作系统xlanchen2006.5.17Embedded O
38、perating Systems66Windows CE(2)l主要模块 l内核模块:支持进程和线程处理及内存管理等基本服务 l内核系统调用接口模块:运行应用程序访问操作系统提供的服务l文件系统模块:支持dos,fat等格式的文件系统l图形窗口和事件子系统模块:控制图形显示,并提供windows GUI界面l通信模块:运行同其他设备进行信息交换xlanchen2006.5.17Embedded Operating Systems67几款典型的嵌入式操作系统介绍几款典型的嵌入式操作系统介绍luC/OS IIlThreadXlWindows系列的嵌入式操作系统lVxWorksl嵌入式Linuxxl
39、anchen2006.5.17Embedded Operating Systems68VxWorks嵌入式实时操作系统嵌入式实时操作系统 lVxWorks 是风河(WindRiver)公司开发的一款商用硬实时操作系统l支持主流的32位CPU,包括lx86、68K、PowerPC、MIPS、ARM等l基于微内核结构,由400多个相对独立的,短小精悍的目标模块组成,可裁剪性和可配置性相当出色xlanchen2006.5.17Embedded Operating Systems69VxWorksl主要思想:在嵌入式系统中最大限度地实现内核的时间可预测性,根据用户定义的任务优先级对任务实现调度。l给用
40、户最大的控制权xlanchen2006.5.17Embedded Operating Systems70VxWorkslVxworks的基本构成模块包括以下部分:l高效实时微内核wind:Vxworks实时微内核wind以灵活性和可配置性为设计目标,它主要包括l基于优先级的任务调度l任务同步和通信l中断处理l定时器l内存管理 l兼容POSIX实时系统标准xlanchen2006.5.17Embedded Operating Systems71lI/O处理系统:Vxworks提供与ANSIC兼容的I/O处理系统,主要包括lUNIX缓冲I/O处理系统,和l面向实时的异步I/O处理系统l本机文件系统
41、l网络处理模块:Vxworks网络处理模块能与许多运行其他协议的网络进行通信,如TCP/IP、NFS、UDP、SNMP、FTP等xlanchen2006.5.17Embedded Operating Systems72 l虚拟内存模块VxVMI:VxVMI主要用于对指定内存区的保护,如内存块只读等 l共享内存模块VxMP:主要用于多处理器行运行任务之间的共享信号量、消息队列、内存块管理 l板级支持包BSP:提供各种硬件的初始化、中断的建立、定时器、内存映象 xlanchen2006.5.17Embedded Operating Systems73VxWorks的评价的评价lVxworks是一款
42、非常出色的嵌入式实时操作系统,但是它是不公开源码的商业化操作系统,价格比较高l为追求系统的实时性而设计的,并不是以通用OS为设计目标。l去掉了一些OS模块,因为这些模块在某种程度上会影响系统的实时性(如在内存管理中没有采用页面管理模式,采用的是平板式内存)。xlanchen2006.5.17Embedded Operating Systems74l任务调度采用的是基于优先级的抢占式任务调度模式,优先级分256级(0-255)l用户可以动态的改变优先级,但是这种做法不提倡l用户可以锁定一个任务使它不被更高的任务或中断抢占l允许使用固定优先级响应时间来检查任务调度的性能xlanchen2006.5
43、.17Embedded Operating Systems75l资源共享和优先级继承机制l采用最优化的上下文切换和中断返回机制.l内核从不禁止非屏蔽中断 NMI(non-maskable interrupts)xlanchen2006.5.17Embedded Operating Systems76VxWorks缺点缺点l缺少某些OS特性l保证时限要求是设计者自己的任务(系统的灵活性带来的弊端)l不支持很多应用和APIs(只支持部分POSIX标准的函数集)l尽管采用了平板式内存管理,但是由于内存的动态分配,仍然存在内存段,这样仍然存在时间上的不可预测性xlanchen2006.5.17Embe
44、dded Operating Systems77l应用领域主要局限在对实时性要求较严格的硬实时系统中l带给用户最大的控制权的同时,用户对系统的实时性调度责任也更大xlanchen2006.5.17Embedded Operating Systems78Tornado 集成开发环境集成开发环境 xlanchen2006.5.17Embedded Operating Systems79GDB 调试工具调试工具xlanchen2006.5.17Embedded Operating Systems80WindView 多任务多任务跟踪和跟踪和观察观察工具工具xlanchen2006.5.17Embed
45、ded Operating Systems81几款典型的嵌入式操作系统介绍几款典型的嵌入式操作系统介绍luC/OS IIlThreadXlWindows系列的嵌入式操作系统lVxWorksl嵌入式嵌入式Linux xlanchen2006.5.17Embedded Operating Systems82将将Linux嵌入到嵌入到xlanchen2006.5.17Embedded Operating Systems83xlanchen2006.5.17Embedded Operating Systems84Linux简介简介l什么是LinuxlLinux发展简史lLinux系统的好处lLinux
46、系统组成lLinux版本xlanchen2006.5.17Embedded Operating Systems85什么是什么是Linux?lLinux是一个类似Unix(Unix-like)的操作系统,在1991年发行了它的第一个版本l在不同的语境下,“Linux”具有不同的内涵,例如:lLinux内核、Linux系统或Linux开发套件等术语。l严格来说,Linux指的是Linux Torvalds维护的(及通过主要和镜像网站发布的)内核。lGNU/LinuxlGNU/Linux的拥护者们认为,Linux仅仅是指Linux内核,而整个Linux系统的大部分都建立在GNU软件之上。xlanch
47、en2006.5.17Embedded Operating Systems86Linux发展简史发展简史l1991年11月,芬兰赫尔辛基大学的学生 Linus Torvalds写了个小程序,取名为Linux,放在互联网上。他表达了一个愿望,希望借此搞出一个操作系统的“内核”来,这完全是一个偶然事件l1993,在一批高水平黑客的参与下,诞生了Linux 1.0 版 l1994年,Linux 的第一个商业发行版 Slackware 问世xlanchen2006.5.17Embedded Operating Systems87 l1996年,美国国家标准技术局的计算机系统实验室确认 Linux 版本
48、 1.2.13(由 Open Linux 公司打包)符合 POSIX 标准l2001年,Linux2.4版内核发布 l2003年,Linux2.6版内核发布lxlanchen2006.5.17Embedded Operating Systems88名词解释名词解释lPOSIXPortable Operating System Interface Standard中文:可移植操作系统接口标准由IEEE制订,并由ISO接受为国际标准。lIEEEInstitute for Electrical and Electronic Engineers中文:电气电子工程师学会美lISOInternationa
49、l Organization for Standardization中文:国际标准化组织制定各行各业各种产品和服务的技术规范(国际标准)xlanchen2006.5.17Embedded Operating Systems89Linux操作系统的主要内容操作系统的主要内容 lLinux是免费的、源代码开放的、符合POSIX标准规范的操作系统 l拥有现代操作系统具有的所有内容,例如 l抢占式多任务处理,支持多用户l内存保护,l支持SMP,支持TCP/IP,l支持绝大多数的32位和64位CPU 等l还有一些其他操作系统没有的特色,比如 lNFS,VFS,高效的EXT系列文件系统等xlanchen2
50、006.5.17Embedded Operating Systems90Linux版本版本lLinux的内核版本l几种流行的Linux发行版本xlanchen2006.5.17Embedded Operating Systems91Linux的内核版本的内核版本lLinux内核版本是由Linus Torvalds作为总体协调人的Linux开发小组(分布在各个国家的近百位高手)开发出的系统内核的版本号 lLinux内核采用的是双树系统l一棵是稳定树,主要用于发行l另一棵是非稳定树或称为开发树,用于产品开发和改进 lLinux内核版本号由3位数字组成l r.x.y第1位数字r为主版本号 第2位数字