《最新嵌入式操作系统PPT课件》由会员分享,可在线阅读,更多相关《最新嵌入式操作系统PPT课件(130页珍藏版)》请在金锄头文库上搜索。
1、进入夏天,少不了一个热字当头,电扇空调陆续登场,每逢此时,总会想起进入夏天,少不了一个热字当头,电扇空调陆续登场,每逢此时,总会想起那一把蒲扇。蒲扇,是记忆中的农村,夏季经常用的一件物品。记忆中的故那一把蒲扇。蒲扇,是记忆中的农村,夏季经常用的一件物品。记忆中的故乡,每逢进入夏天,集市上最常见的便是蒲扇、凉席,不论男女老少,个个手持乡,每逢进入夏天,集市上最常见的便是蒲扇、凉席,不论男女老少,个个手持一把,忽闪忽闪个不停,嘴里叨叨着一把,忽闪忽闪个不停,嘴里叨叨着“怎么这么热怎么这么热”,于是三五成群,聚在大树,于是三五成群,聚在大树下,或站着,或随即坐在石头上,手持那把扇子,边唠嗑边乘凉。孩
2、子们却在周下,或站着,或随即坐在石头上,手持那把扇子,边唠嗑边乘凉。孩子们却在周围跑跑跳跳,热得满头大汗,不时听到围跑跑跳跳,热得满头大汗,不时听到“强子,别跑了,快来我给你扇扇强子,别跑了,快来我给你扇扇”。孩。孩子们才不听这一套,跑个没完,直到累气喘吁吁,这才一跑一踮地围过了,这时子们才不听这一套,跑个没完,直到累气喘吁吁,这才一跑一踮地围过了,这时母亲总是,好似生气的样子,边扇边训,母亲总是,好似生气的样子,边扇边训,“你看热的,跑什么?你看热的,跑什么?”此时这把蒲扇,此时这把蒲扇,是那么凉快,那么的温馨幸福,有母亲的味道!蒲扇是中国传统工艺品,在是那么凉快,那么的温馨幸福,有母亲的味
3、道!蒲扇是中国传统工艺品,在我国已有三千年多年的历史。取材于棕榈树,制作简单,方便携带,且蒲扇的表我国已有三千年多年的历史。取材于棕榈树,制作简单,方便携带,且蒲扇的表面光滑,因而,古人常会在上面作画。古有棕扇、葵扇、蒲扇、蕉扇诸名,实即面光滑,因而,古人常会在上面作画。古有棕扇、葵扇、蒲扇、蕉扇诸名,实即今日的蒲扇,江浙称之为芭蕉扇。六七十年代,人们最常用的就是这种,似圆非今日的蒲扇,江浙称之为芭蕉扇。六七十年代,人们最常用的就是这种,似圆非圆,轻巧又便宜的蒲扇。蒲扇流传至今,我的记忆中,它跨越了半个世纪,圆,轻巧又便宜的蒲扇。蒲扇流传至今,我的记忆中,它跨越了半个世纪,也走过了我们的半个人
4、生的轨迹,携带着特有的念想,一年年,一天天,流向长也走过了我们的半个人生的轨迹,携带着特有的念想,一年年,一天天,流向长长的时间隧道,袅长的时间隧道,袅嵌入式操作系统嵌入式系统嵌入式系统及其软件开发概述及其软件开发概述什么是嵌入式系统:什么是嵌入式系统: 国内的经典定义国内的经典定义v嵌入式系统是“以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统”v一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等部分组成,用于实现对其他设备的控制、监视或管理等功能。 7/27/20249EmbeddedOpera
5、tingSystemsv可以从以下几个方面来理解国内对嵌入式系统的定义:1.嵌入式系统是面向用户、面向产品、面向应用的,它必须与具体应用相结合才会具有生命力、才更具有优势。即嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须结合实际系统需求进行合理的裁减利用。7/27/202410EmbeddedOperatingSystems2.嵌入式系统是将先进的计算机技术、半导体技术和电子技术以及各个行业的具体应用相结合后的产物。这就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。所以,介入嵌入式系统行业,必须有一个正确的定位。例如lPalm OS之所以在PDA领域占有70以
6、上的市场,就是因为其立足于个人电子消费品,着重发展图形界面和多任务管理;l而风河的vxWorks之所以在火星车上得以应用,则是因为其高实时性和高可靠性。7/27/202411EmbeddedOperatingSystems3.嵌入式系统必须根据应用需求可对软硬件进行裁剪,满足应用系统的功能、可靠性、成本、体积等要求。所以,如果能建立相对通用的软硬件基础,然后在其上开发出适应各种需要的系统,是一个比较好的发展模式。目前的嵌入式系统的核心往往是一个只有几KB到几十KB的微内核,需要根据实际的使用进行功能扩展或者裁减,但是由于微内核的存在,使得这种扩展能够非常顺利地进行。7/27/202412Emb
7、eddedOperatingSystems4.同时还应该看到,嵌入式系统本身还是一个外延极广的名词。凡是与产品结合在一起的具有嵌入式特点的控制系统都可以叫嵌入式系统,而且有时很难给它下一个准确的定义。7/27/202413EmbeddedOperatingSystems嵌入式系统的体系结构嵌入式系统的体系结构v一般而言,嵌入式系统的构架可以分成四个部分:处理器、存储器、输入输出(I/O)、软件多数嵌入式设备的应用软件和操作系统都紧密结合,这也是嵌入式系统和Windows 系统的最大区别 。软件处理器存储器输入输出7/27/202414EmbeddedOperatingSystems嵌入式系统特
8、点嵌入式系统特点v嵌入式计算机系统同通用型计算机系统相比具有以下特点:1、嵌入式系统通常是面向特定应用面向特定应用的。嵌入式CPU与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。7/27/202415EmbeddedOperatingSystems2、嵌入式系统的硬件和软件都必须高效率高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞
9、争力3、嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期具有较长的生命周期。7/27/202416EmbeddedOperatingSystems4、为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中5、嵌入式系统本身不具备自举开发能力不具备自举开发能力,即使设计完成以后用户通常也不能对其中的程序功能进行修改,必须有一套开发工具和环境才能进行开发。7/27/202417EmbeddedOperatingSystems主要内容主要内容一、嵌入式系统基本概念:
10、定义;体系结构;特点二、嵌入式硬件的发展二、嵌入式硬件的发展三、嵌入式软件及其开发四、嵌入式操作系统及系统开发五、典型嵌入式操作系统介绍六、嵌入式操作系统选型7/27/202418EmbeddedOperatingSystems嵌入式系统硬件嵌入式系统硬件v从硬件方面来讲,各式各样的嵌入式处理器是嵌入式系统硬件中的最核心的部分。目前,世界上具有嵌入式功能特点的处理器已超过1000种,流行体系结构包括MCU、MPU等30多个系列。目前嵌入式处理器的寻址空间:可以从64KB到16MB,处理速度:最快可以达到2000MIPS,封装:从几个引脚到几百个引脚不等。7/27/202419EmbeddedO
11、peratingSystems嵌入式系统硬件分类嵌入式系统硬件分类v目前来讲,嵌入式处理器可以分成这样一些类型1、嵌入式微处理器( Microprocessor Unit,MPU) 2、嵌入式微控制器( Microcontroller Unit,MCU)3、嵌入式DSP( Digital Signal Processor )处理器 4、嵌入式片上系统( System on Chip,SoC) 7/27/202420EmbeddedOperatingSystems嵌入式系统硬件分类嵌入式系统硬件分类v目前来讲,嵌入式处理器可以分成这样一些类型1、嵌入式微处理器(、嵌入式微处理器( Micropr
12、ocessor Unit,MPU) 2、嵌入式微控制器( Microcontroller Unit,MCU)3、嵌入式DSP( Digital Signal Processor )处理器 4、嵌入式片上系统( System on Chip,SoC) 7/27/202421EmbeddedOperatingSystems嵌入式微处理嵌入式微处理MPUvMPU(Microprocessor Unit)CPU MPU是由通用计算机中的CPU演变而来的,在本质上与通用计算机的CPU是一样的,只是在具体的实现细节和功能上有所不同。l装配在专门设计的电路板上,只保留跟嵌入式应用紧密相关的功能部件,去除其他
13、冗余功能部件,从而大幅减小系统的体积和功耗。l为了满足嵌入式应用的特殊需求,MPU在工作温度、抗电磁干扰、可靠性方面一般都做了各种增强 ,在功能上会失去一些在嵌入式领域不常用的功能单元7/27/202422EmbeddedOperatingSystemsv和工业控制计算机相比,MPU具有体积小、质量轻、成本低、可靠性高的优点,但是在电路板上必须包括ROM、RAM、总线接口、各种外设等器件,从而降低了系统的可靠性,技术保密性也比较差。v由于MPU及其存储器、总线、外设等安装在一块电路板上,称为单板计算机,如STD-BUS、PC104等。vMPU目前主要有:intel x86、IBM PowerP
14、C、motorola 68K/coldfire、MIPS、ARM、Hitachi SuperH等系列7/27/202423EmbeddedOperatingSystems典型嵌入式微处理器:典型嵌入式微处理器:ARM系列系列vARM(Advanced RISC Machines)是ARM公司的高性能、廉价、低功耗的RISC处理器,适用于多种领域如嵌入控制、消费/教育类多媒体、DSP和移动式应用等。 vARM公司将其硬件技术授权给世界上许多著名的半导体厂商,包括Intel,IBM,LG,NEC,SONY,Philps这样的大公司。关于软件系统的合伙人,则包括Microsoft、SUN等一系列著名
15、公司7/27/202424EmbeddedOperatingSystemsvARM公司提供一系列CPU内核、体系扩展、微处理器和系统芯片方案。v由于所有产品均采用一个通用的基本体系结构,所以相同的软件理论上可在所有产品中运行v目前,ARM公司常见的处理器系列有:ARM7、ARM9、ARM10、ARM11等7/27/202425EmbeddedOperatingSystems典型嵌入式微处理器:典型嵌入式微处理器:MIPSvMIPS Microprocessor without Interlocked Piped Stages“无内部互锁流水线微处理器”v也是现在比较流行的一种RISC处理器,其
16、机制是尽量利用软件办法避免流水线中的数据相关问题v最早是在20世纪80年代初由美国斯坦福大学Hennessy教授领导的研究小组研制出来的v在嵌入式方面,仅次于ARMv应用领域覆盖游戏机,移动电话,数码相机,ATM,路由器,打印机,掌上电脑等等各个方面,非常广泛7/27/202426EmbeddedOperatingSystems国内的嵌入式微处理器:国内的嵌入式微处理器:龙芯龙芯v中国科学院计算所研制v具有自主知识产权 龙芯1号:32位MIPS处理器龙芯2号龙芯3号v龙芯+Linux/?7/27/202427EmbeddedOperatingSystems手机的大概组成手机的大概组成7/27/
17、202428EmbeddedOperatingSystems嵌入式系统硬件分类嵌入式系统硬件分类v目前来讲,嵌入式处理器可以分成这样一些类型1、嵌入式微处理器( Microprocessor Unit,MPU) 2、嵌入式微控制器(、嵌入式微控制器( Microcontroller Unit,MCU)3、嵌入式DSP( Digital Signal Processor )处理器 4、嵌入式片上系统( System on Chip,SoC) 7/27/202429EmbeddedOperatingSystems嵌入式微控制器嵌入式微控制器MCU(1)vMCU = Microcontroller
18、Unit 一般又称为单片机,即将整个计算机系统集成到一块芯片中vMCU一般以某种微处理器内核为核心,芯片内部集成ROM/EPROM,总线,总线逻辑,定时器,I/O单元,串口,A/D,D/A,flash等各种必要功能和外设 v为适应不同的应用需求,一般一个系列的单片机具有多种衍生产品,每种衍生产品的处理器内核基本都是一样的,不同的是存储器和外设的配置及封装7/27/202430EmbeddedOperatingSystems嵌入式微控制器嵌入式微控制器MCU(2)v与MPU相比,MCU的特点是单片化,体积大大减小,成本和功耗下降,可靠性提高v微控制器的片上资源一般比较丰富,适合于比较简单的控制过
19、程(得名的来由)7/27/202431EmbeddedOperatingSystems嵌入式微控制器嵌入式微控制器MCU(3)v代表性的通用系列intel 8051,P51XA,MCS系列,motorola 68300等等v半通用系列支持USB接口的MCU 8XC930/932、C540、C541支持I2C、CAN-bus、LCD的MCU等等 7/27/202432EmbeddedOperatingSystems嵌入式系统硬件分类嵌入式系统硬件分类v目前来讲,嵌入式处理器可以分成这样一些类型1、嵌入式微处理器( Microprocessor Unit,MPU) 2、嵌入式微控制器( Micro
20、controller Unit,MCU)3、嵌入式、嵌入式DSP( Digital Signal Processor )处理器)处理器 4、嵌入式片上系统( System on Chip,SoC) 7/27/202433EmbeddedOperatingSystems嵌入式嵌入式DSP处理器处理器EDSPvEDSP = Embedded Digital Signal Processor DSP在运算量较大(特别是向量运算、指针线性寻址很多)的场合发挥重要作用 对系统结构和指令进行了特殊设计,使其适合与执行DSP算法,编译效率较高,指令执行速度也较高 除了数字滤波,FFT等之外,DSP处理器在各
21、种带有智能逻辑的产品,生物信息识别终端,实时语音编码解码系统中都得到了广泛的应用代表性的产品是Texas Instruments公司的TMS320系列和Motorola的DSP56000系列 7/27/202434EmbeddedOperatingSystems嵌入式系统硬件分类嵌入式系统硬件分类v目前来讲,嵌入式处理器可以分成这样一些类型1、嵌入式微处理器( Microprocessor Unit,MPU) 2、嵌入式微控制器( Microcontroller Unit,MCU)3、嵌入式DSP( Digital Signal Processor )处理器 4、嵌入式片上系统(、嵌入式片上系
22、统( System on Chip,SoC) 7/27/202435EmbeddedOperatingSystems嵌入式片上系统嵌入式片上系统SOC(1)vSOC = System on Chip 随着VLSI技术的发展,在一个硅片上可以包括CPU、各种外设控制器(如网络控制器、LCD控制器等)等多个功能单元,构成一个完整的复杂硬件系统,这就是嵌入式片上系统 嵌入式处理器内核可以作为SoC的一种标准库,与其他嵌入式系统外设一样,成为VLSI设计中的一种标准器件,用VHDL等语言描述,存储在器件库中用户只需定义出其整个应用系统,仿真通过后,就可以将设计图交给半导体工厂制作Very Large
23、Scaled Integration超大规模集成VHSIC Hardware Description Language硬件描述语言Very High Speed Integrated Circuit超高速集成电路7/27/202436EmbeddedOperatingSystems嵌入式片上系统嵌入式片上系统SOC(2)这样,整个嵌入式系统大部分都可以集成到一块或几块芯片中去,系统电路板将变得很简洁,对减小体积和功耗,提高可靠性非常有利SoC可以分为通用和专用两类,市场份额比较小 7/27/202437EmbeddedOperatingSystems主要内容主要内容一、嵌入式系统基本概念二、嵌
24、入式硬件的发展三、嵌入式软件及其开发三、嵌入式软件及其开发四、嵌入式操作系统及系统开发五、典型嵌入式操作系统介绍六、嵌入式操作系统选型7/27/202438EmbeddedOperatingSystems嵌入式系统的软件嵌入式系统的软件v简单的嵌入式应用若嵌入式系统的功能需求比较简单,如电动玩具、空调、冰箱等,则嵌入式系统软件只需完成较简单的功能,就不需要嵌入式操作系统的支持。如:基于8051的应用l儿童玩具、汽车系统等等v复杂的嵌入式应用若功能比较复杂,需要网络功能、存储器管理、进程/线程管理等,则通过嵌入式操作系统的帮助,可以加快嵌入式系统软件的开发进度和可靠性。7/27/202439Em
25、beddedOperatingSystems简单的嵌入式应用简单的嵌入式应用v简单的嵌入式应用不需要使用操作系统v当系统上电后,main函数将被调用,首先初始化,然后进入循环直到系统停电或者出现重大错误。v超级循环void main(void)/prepare for function XX_init();While(1) X();7/27/202440EmbeddedOperatingSystems简单的嵌入式应用的开发过程简单的嵌入式应用的开发过程v简单的嵌入式应用的开发过程在个人电脑上配置交叉开发环境、安装仿真器,编写程序,交叉编译,在仿真器上运行测试并修改直到软件满足需求;利用面包板开
26、发和调试软、硬件利用编程器将软件烧到开发好的系统中进行现场运行测试7/27/202441EmbeddedOperatingSystems主要内容主要内容一、嵌入式系统基本概念二、嵌入式硬件的发展三、嵌入式软件及其开发四、嵌入式操作系统及系统开发四、嵌入式操作系统及系统开发五、典型嵌入式操作系统介绍六、嵌入式操作系统选型7/27/202442EmbeddedOperatingSystems嵌入式操作系统嵌入式操作系统v简单的说,嵌入式操作系统就是支持嵌入式系统工作的操作系统。在本质上与通用的操作系统没有太大的区别,一般用于比较复杂的嵌入式系统中,例如手机、PDA等电子类消费产品机顶盒、路由器等v
27、对嵌入式系统的硬件有较高的要求7/27/202443EmbeddedOperatingSystems基于嵌入式操作系统的嵌入式应用开发基于嵌入式操作系统的嵌入式应用开发1.确定需求2.根据需求选择合适的硬件硬实时/软实时系统?什么处理器?哪些辅助硬件?3.选择嵌入式操作系统4.选择开发平台编程语言、软件开发工具实际的开发平台包括硬件开发平台、操作系统、编程语言以及软件开发工具7/27/202444EmbeddedOperatingSystems5.编写并优化代码一般在主机系统上进行开发和优化工作。代码优化主要在软件执行速度和软件尺寸之间取得平衡,满足嵌入式系统对速度和存储空间的限制。在嵌入式开
28、发中,一般需要避免使用大型的软件库,避免使用递归编程,减少堆栈的消耗。6.在模拟器或者开发板上调试7/27/202445EmbeddedOperatingSystems嵌入式软件系统的指标嵌入式软件系统的指标v尺寸满足硬件限制v实时性硬实时,软实时和非实时系统 v网络能力v人机交互能力7/27/202446EmbeddedOperatingSystems嵌入式系统的实时性嵌入式系统的实时性v嵌入式系统一般具有实时的特点。所谓实时系统是指在这种系统中,一个优先级高的任务能够得到立即的、没有延迟的服务,不需要等待任何其他优先级低的任务,一旦它得到CPU的使用权,将一直执行直到工作结束或者出现更高级
29、别的进程。为了满足这样的需求,嵌入式操作系统必须具有高效的中断处理能力和高效的IO能力7/27/202447EmbeddedOperatingSystems嵌入式操作系统分类嵌入式操作系统分类v硬实时系统确保系统中的关键任务在确定的时间得到响应,不能有失败的情况,否则会出现严重后果 v软实时系统设计的时候是有响应时间要求的,但是偶尔某些任务的响应时间超过这个限制也不会有严重的后果 v非实时系统无响应时间的要求7/27/202448EmbeddedOperatingSystems实时系统的几个指标实时系统的几个指标v预测反应时间v可调度性v强负载下的稳定性7/27/202449EmbeddedO
30、peratingSystems1、预测反应时间、预测反应时间v在工业控制系统中,实时可定义为系统对某事件响应时间的可预测性。v一个事件发生后,系统须在一个可准确预见的时间范围内作出反应。 7/27/202450EmbeddedOperatingSystems2、可调度性、可调度性v实时任务具有时限要求,调度实时任务时,需要判断是否每个任务的执行都能够在其截止期限内完成。v如果每个任务的执行都能够在其截止期限内完成,则称该调度是可行的v可调度性判定(或称调度可行性判定)就是判定给定的n个实时任务在应用某种调度算法的前提下能否产生一个可行的调度。v调度算法的设计要尽可能满足任务可调度性的要求 7/
31、27/202451EmbeddedOperatingSystems3、强负载下的稳定性、强负载下的稳定性v实时稳定性随着系统的负载有所不同v当系统的负载变得很大时,如果系统不能保证所有任务的时间要求,应当能使其中一部分关键任务始终满足时限要求7/27/202452EmbeddedOperatingSystems主要内容主要内容一、嵌入式系统基本概念二、嵌入式硬件的发展三、嵌入式软件及其开发四、嵌入式操作系统及系统开发五、典型嵌入式操作系统介绍五、典型嵌入式操作系统介绍六、嵌入式操作系统选型7/27/202453EmbeddedOperatingSystems嵌入式操作系统一览嵌入式操作系统一览
32、7/27/202454EmbeddedOperatingSystems常见嵌入式常见嵌入式实时实时操作系统操作系统vRTlinux及其他嵌入式实时LinuxvuC/OS IIvwind river systems公司的VxworksvQNX software systems公司的QNX。 vpSOSvOS/9vVRTXveCOS7/27/202455EmbeddedOperatingSystems常见嵌入式常见嵌入式非实时非实时操作系统操作系统 vMicrosoft公司的windows CE、Embedded windows xp vPalm公司的Palm OS vsymbian公司的EPOC
33、 v一些嵌入式linux系统7/27/202456EmbeddedOperatingSystems介绍几款典型的嵌入式操作系统介绍几款典型的嵌入式操作系统vuC/OS IIvThreadXvWindows系列的嵌入式操作系统vVxWorksvRTEMSv嵌入式Linux7/27/202457EmbeddedOperatingSystems1、uC/OS IIv免费的公开源码实时操作系统 v内核提供任务调度和管理、时钟管理、任务间同步与通信、内存管理和中断服务等功能v最多支持64个任务,分别对应优先级063,其中0为最高优先级 v可剥夺实时多任务内核 调度工作的内容分为两部分:最高优先级任务的寻
34、找和任务切换 7/27/202458EmbeddedOperatingSystemsv内核是针对实时系统的要求来设计实现的,相对比较简单,可以满足较高的实时性要求 v但是没有网络功能和文件系统,对于像媒体播放、需要网络和图形界面支持的应用就比较差7/27/202459EmbeddedOperatingSystemsuC/OS II 目录的含义目录的含义7/27/202460EmbeddedOperatingSystems7/27/202461EmbeddedOperatingSystems2、ThreadX操作系统操作系统 v只需要很小的存储器容量(最低5k) v硬实时的处理能力 v有功能强大
35、的专门的开发调试支持工具 v支持了市场上绝大部分的CPU v同样也是商业化的操作系统 7/27/202462EmbeddedOperatingSystems3、微软的移动平台、微软的移动平台更强的功能笔记本笔记本PC复杂的文档编辑和读写桌面键盘输入键盘和鼠标输入法完整的.NET framework 支持WindowsXP/XPEWindowsXP/XPE平板电脑平板电脑复杂的文档编辑和读写桌面键盘输入支持数字墨水可以支持键盘,也可以把键盘拿走键盘、鼠标、数字墨水和语音输入完整的 .NET framework支持提供笔,数字墨水,手写和语音识别APIWindowsCEWindowsCE小型个人产
36、小型个人产品品单向网络信息消费WindowsMobileWindowsMobileSmartphone信息消费基本数据浏览把PDA融入电话可以与Exchange交互.NET Compact FrameworkASP.NET 移动控件PocketPC信息消费浏览和输入数据把电话融入PDA可以与Office, Exchange和SQL Server交互.NET Compact FrameworkASP.NET 移动控件7/27/202463EmbeddedOperatingSystemsWindows Embedded 家族家族7/27/202464EmbeddedOperatingSystems
37、Windows CEv主要用于PDA,smartphone等个人手持终端上 v支持多线程 v支持多种软硬件v最大的特点就是能提供与pc 机类似的图形界面和主要的应用程序 v地道的商业操作系统7/27/202465EmbeddedOperatingSystemsWindows CE(2)v主要模块 内核模块:支持进程和线程处理及内存管理等基本服务 内核系统调用接口模块:运行应用程序访问操作系统提供的服务文件系统模块:支持dos,fat等格式的文件系统图形窗口和事件子系统模块:控制图形显示,并提供windows GUI界面通信模块:运行同其他设备进行信息交换7/27/202466EmbeddedO
38、peratingSystems4、VxWorks嵌入式实时操作系统嵌入式实时操作系统 vVxWorks 是风河(WindRiver)公司开发的一款商用硬实时操作系统v支持主流的32位CPU,包括x86、 68K、PowerPC、MIPS、ARM等v基于微内核结构,由400多个相对独立的,短小精悍的目标模块组成,可裁剪性和可配置性相当出色7/27/202467EmbeddedOperatingSystemsVxWorksv主要思想:在嵌入式系统中最大限度地实现内核的时间可预测性,根据用户定义的任务优先级对任务实现调度。v给用户最大的控制权7/27/202468EmbeddedOperatingS
39、ystemsVxWorksvVxworks的基本构成模块包括以下部分 :高效实时微内核wind:Vxworks实时微内核wind以灵活性和可配置性为设计目标,它主要包括l基于优先级的任务调度l任务同步和通信l中断处理l定时器l内存管理 兼容POSIX实时系统标准7/27/202469EmbeddedOperatingSystemsI/O处理系统:Vxworks提供与ANSIC兼容的I/O处理系统,主要包括lUNIX缓冲I/O处理系统,和l面向实时的异步I/O处理系统本机文件系统网络处理模块:Vxworks网络处理模块能与许多运行其他协议的网络进行通信,如TCP/IP、NFS、UDP、SNMP、
40、FTP等7/27/202470EmbeddedOperatingSystems 虚拟内存模块VxVMI:VxVMI主要用于对指定内存区的保护,如内存块只读等 共享内存模块VxMP:主要用于多处理器行运行任务之间的共享信号量、消息队列、内存块管理 板级支持包BSP:提供各种硬件的初始化、中断的建立、定时器、内存映象 7/27/202471EmbeddedOperatingSystemsVxWorks的评价的评价vVxworks是一款非常出色的嵌入式实时操作系统,但是它是不公开源码的商业化操作系统,价格比较高v为追求系统的实时性而设计的,并不是以通用OS为设计目标。去掉了一些OS模块,因为这些模块
41、在某种程度上会影响系统的实时性 (如在内存管理中没有采用页面管理模式,采用的是平板式内存)。7/27/202472EmbeddedOperatingSystemsv任务调度采用的是基于优先级的抢占式任务调度模式,优先级分256级(0-255)用户可以动态的改变优先级,但是这种做法不提倡用户可以锁定一个任务使它不被更高的任务或中断抢占允许使用固定优先级响应时间来检查任务调度的性能7/27/202473EmbeddedOperatingSystemsv资源共享和优先级继承机制v采用最优化的上下文切换和中断返回机制.v内核从不禁止非屏蔽中断 NMI (non-maskable interrupts)
42、7/27/202474EmbeddedOperatingSystemsVxWorks缺点缺点v缺少某些OS特性v保证时限要求是设计者自己的任务(系统的灵活性带来的弊端)v不支持很多应用和APIs(只支持部分POSIX标准的函数集)v尽管采用了平板式内存管理,但是由于内存的动态分配,仍然存在内存段,这样仍然存在时间上的不可预测性7/27/202475EmbeddedOperatingSystemsv应用领域主要局限在对实时性要求较严格的硬实时系统中v带给用户最大的控制权的同时,用户对系统的实时性调度责任也更大7/27/202476EmbeddedOperatingSystemsTornado 集
43、成开发环境集成开发环境7/27/202477EmbeddedOperatingSystemsGDB 调试工具调试工具7/27/202478EmbeddedOperatingSystemsWindView 多任务跟踪和观察工具多任务跟踪和观察工具7/27/202479EmbeddedOperatingSystems5、RTEMSv名称:实时多处理器系统Real Time Executive for Multiprocessor SystemsvRTEMS是一个开源的无版税实时嵌入操作系统。最早用于美国国防系统,早期称为实时导弹系统(Real Time Executive for Missile
44、Systems),后改名为实时军用系统(Real Time Executive for Military Systems),现在由OAR公司负责版本的升级与维护。目前无论是航空航天、军工,还是民用领域RTEMS都有着极为广泛的应用。 7/27/202480EmbeddedOperatingSystemsRTEMS体系结构体系结构vAPP静态联编,包括应用程序C库RTEMS7/27/202481EmbeddedOperatingSystemsScore的主要模块的主要模块7/27/202482EmbeddedOperatingSystems6、嵌入式Linux vLinux简介简介v嵌入式嵌入式
45、Linux简介简介7/27/202483EmbeddedOperatingSystems将将Linux嵌入到嵌入到各种设备中:NASANASA个人助理个人助理个人助理个人助理7/27/202484EmbeddedOperatingSystems开发过程开发过程Linux操操作系统选作系统选择择操作系统的移植操作系统的移植与改进与改进DriverandApplicationsoftwaredevelopment从系统设计从系统设计从系统设计从系统设计测测试试Rehat,bluecat,RTLinux,MontaVistaLinux,RTAI,http:/linux.orghttp:/www.gn
46、u.orgTekram,HP,Intel,7/27/202485EmbeddedOperatingSystemsLinux简介简介v什么是LinuxvLinux发展简史vLinux系统的好处vLinux系统组成vLinux版本7/27/202486EmbeddedOperatingSystems什么是什么是Linux?vLinux是一个类Unix(Unix-like)的操作系统,在1991年发行了它的第一个版本v在不同的语境下,“Linux”具有不同的内涵,例如:Linux内核、Linux系统或Linux开发套件等术语。v严格来说,Linux指的是Linux Torvalds维护的(及通过主要
47、和镜像网站发布的)内核。vGNU/LinuxGNU/Linux的拥护者们认为,Linux仅仅是指Linux内核,而整个Linux系统的大部分都建立在GNU软件之上。7/27/202487EmbeddedOperatingSystemsLinux发展简史发展简史v1991年11月,芬兰赫尔辛基大学的学生 Linus Torvalds写了个小程序,取名为Linux,放在互联网上。他表达了一个愿望,希望借此搞出一个操作系统的“内核”来,这完全是一个偶然事件v1993,在一批高水平黑客的参与下,诞生了Linux 1.0 版 v1994年,Linux 的第一个商业发行版 Slackware 问世7/27
48、/202488EmbeddedOperatingSystems v1996年,美国国家标准技术局的计算机系统实验室确认 Linux 版本 1.2.13(由 Open Linux 公司打包)符合 POSIX 标准v2001年,Linux2.4版内核发布 v2003年,Linux2.6版内核发布vPortable Operating System Interface Standard可移植操作系统接口标准由IEEE制订,并由ISO接受为国际标准。Institute for Electrical and Electronic Engineers电气电子工程师学会美International Orga
49、nization for Standardization国际标准化组织制定各行各业各种产品和服务的技术规范(国际标准)7/27/202489EmbeddedOperatingSystemsLinux操作系统的主要内容操作系统的主要内容 vLinux是免费的、源代码开放的、符合POSIX标准规范的操作系统 v拥有现代操作系统具有的所有内容,例如 抢占式多任务处理,支持多用户内存保护,支持SMP,支持TCP/IP,支持绝大多数的32位和64位CPU 等v还有一些其他操作系统没有的特色,比如 NFS,VFS,高效的EXT系列文件系统等7/27/202490EmbeddedOperatingSyste
50、msLinux版本版本vLinux的内核版本v几种流行的Linux发行版本7/27/202491EmbeddedOperatingSystemsLinux的内核版本的内核版本vLinux内核版本是由Linus Torvalds作为总体协调人的Linux开发小组(分布在各个国家的近百位高手)开发出的系统内核的版本号 vLinux内核采用的是双树系统一棵是稳定树,主要用于发行另一棵是非稳定树或称为开发树,用于产品开发和改进 vLinux内核版本号由3位数字组成 r.x.y第1位数字r为主版本号 第2位数字x为说明版本类型的次版本号,如果x为偶数,则表示为产品化版本,为奇数时表示为实验版本 第3位数
51、字y为修改号,表示错误修补的次数 7/27/202492EmbeddedOperatingSystems几种流行的几种流行的Linux发行版本发行版本7/27/202493EmbeddedOperatingSystemsLinux系统的好处系统的好处v支持多种CPUX86, ARM, MIPS, SH, i960, PPC, etc.v开放源代码(Open source)v强大的网络功能v可移植性v使用GNU tools7/27/202494EmbeddedOperatingSystemsv一个新潮,非常稳定,多用户,多任务的环境 v标准的平台 v无法超越的计算能力,可移动性和适应性 v先进的
52、图形用户界面 v几十个异常出色而且免费的桌面应用程序 v成千上万个免费的工具和应用小程序 v几百上千个专业程序由全世界的无数研究人员编制,覆盖了天文,信息技术,化学,物理,工程,语言,生物等各个学科领域7/27/202495EmbeddedOperatingSystemsv一个真正杰出的学习系统 v很多顶级的系统开发平台,友好的编程语言及编程工具都免费包含在操作系统里面 v病毒入侵,计算机的“后门”,软件提供商的“特别要求”,强迫性的软件升级,专有的文件格式,软件使用许可证和市场策略,产品注册登记,高得惊人的软件价格,等等 -Linux都没有vLinux操作系统平台保证它的“永久性”v一个技术
53、快速更新的平台7/27/202496EmbeddedOperatingSystems嵌入式嵌入式Linux介绍介绍v什么是嵌入式Linuxv嵌入式linux的典型应用v嵌入式linux的分类v常见的嵌入式Linux7/27/202497EmbeddedOperatingSystems什么是嵌入式什么是嵌入式Linuxv嵌入式Linux内核为特殊的硬件配置、或为了支持特别的应用而经过特别的裁剪的修改过的Linux内核通常具有不同于工作站与服务器的内核配置v嵌入式Linux系统基于Linux内核的嵌入式系统v嵌入式Linux发行套件开发嵌入式Linux系统的平台各种为了在嵌入式系统中使用而剪裁过的
54、应用软件7/27/202498EmbeddedOperatingSystems嵌入式嵌入式Linux的典型应用的典型应用7/27/202499EmbeddedOperatingSystems嵌入式嵌入式Linux的分类的分类v分类依据包括:应用的市场嵌入式系统的规模时限(即实时)要求网络能力与用户交互能力等7/27/2024100EmbeddedOperatingSystems嵌入式嵌入式Linux的分类的分类1市场市场v根据应用的市场来划分航空航天、汽车系统、消费性电子产品、电信等无法为所指的系统提供额外的信息7/27/2024101EmbeddedOperatingSystems嵌入式嵌入
55、式Linux的分类的分类2规模规模v嵌入式系统的规模由一些不同的因素来决定,首先实际的尺寸大小有些系统的尺寸可能相当大,例如那些用来构建集群的产品有些却非常小,例如IBM制造的Linux手表最重要的是,嵌入式系统的规模与系统中各个电子原件的属性有关,如CPU的运算速度、RAM容量、永久性存储器的容量7/27/2024102EmbeddedOperatingSystems嵌入式嵌入式Linux的分类的分类2电子元件的规模电子元件的规模v根据嵌入式系统的电子元件的规模分类,包括小型、中型、大型v小型系统的特性是:低运算能力的CPU,并且可以使用至少2MB的ROM和4MB的RAM。对于更小的系统,你
56、会发现也许不用操作系统或者使用其他的操作系统更加合适,因为将Linux嵌入到这样的系统中比较费功夫7/27/2024103EmbeddedOperatingSystems嵌入式嵌入式Linux的分类的分类2电子元件的规模电子元件的规模v中型系统的特性是:中等运算能力的CPU,并且可以使用大约32MB的ROM和64MB的RAM。大多数以Linux构建的消费性产品皆属此类,包括PDA、MP3播放器,娱乐系统以及网络设备。有些产品可能会包含如下形式的辅助存储器:固态硬盘(以RAM芯片制成的硬盘)、快闪存储卡甚至是传统的硬盘。7/27/2024104EmbeddedOperatingSystems嵌入
57、式嵌入式Linux的分类的分类2电子元件的规模电子元件的规模v大型系统的特性是:使用运算能力强大的CPU,或是使用多个CPU并且可以使用大量的RAM和永久性存储器通常,这类系统需要进行大量计算来完成特定的任务。例如大型的电信交换机以及飞行仿真器。7/27/2024105EmbeddedOperatingSystems嵌入式嵌入式Linux的分类的分类3实时要求实时要求v根据嵌入式系统的时限要求,可以分为严格时限的要求:系统必须在预定的时间之内作出反应,否则会发生灾难事件。即硬实时系统软实时系统像音频、视频流系统往往是软实时系统,因为该系统一时的失误并不会造成无法弥补的灾难。但仍然应当被设计为具
58、备严格的时间要求宽松的时限的要求比较泛,不过他们一般会被应用在需要及时(或适时)作出响应但不必立即完成的系统上。这样的系统虽然比较慢,但是不会影响最后结果7/27/2024106EmbeddedOperatingSystems基于基于Linux的嵌入式操作系统的嵌入式操作系统vuCLinuxvARMLinuxvRT-Linux/RTAIvEmbedixvBlue Cat LinuxvHard Hat Linuxv等等7/27/2024107EmbeddedOperatingSystems1)ClinuxvClinux是应用于嵌入式设备的最著名、应用最广泛一个Linux发行版本,它也是一个开放源
59、码的项目,Clinux的源代码和开发工具可以免费从http:/www.uclinux.org 上下载得到。vClinux的含义:Micro-Control-Linux:专门针对微控制器领域而设计的嵌入式Linux系统vClinux同标准Linux的最大区别就在于内存管理1、标准Linux使用的虚拟存储器技术 2、Clinux针对NOMMU7/27/2024108EmbeddedOperatingSystems2)ARM LinuxvLinux标准发行内核中的一个分支vARM Linux主要是由Russell King和其他人的共同努力,将Linux作业系统成功的移植在以ARM处理器为核心的机器
60、上。v与uClinux不同,支持带有MMU的ARM系列CPU如ARM610、ARM710、ARM720T、ARM920T、Intel StrongARM、Xscale等7/27/2024109EmbeddedOperatingSystems3)支持硬实时的)支持硬实时的Linux:RT-Linux/RTAIvRT-Linux是新墨西哥科技大学的研究成果(1996) v其目标目标是在Linux环境下提供确定的响应时间v其基本思想基本思想是:为了在Linux系统中提供对于硬实时的支持,它实现了一个微内核的小的实时操作系统(RT-Linux),而将普通Linux系统作为一个该操作系统中的一个低优先级
61、的任务来运行,由RT-Linux提供的一个实时调度器对其进行调度。其他的实时任务作为一个RT-Linux的可加载内核模块,其优先级比普通Linux系统要高7/27/2024110EmbeddedOperatingSystemsRT-Linux的框架的框架 7/27/2024111EmbeddedOperatingSystemsv意大利的RTAIReal-Time Application Interface,实时应用接口源于RT-Linux,它在设计思想上和RT-Linux完全相同。v它当初设计目的是为了解决RT-Linux难于在不同Linux版本之间难于移植的问题vRTAI在 Linux 上定
62、义了一个实时硬件抽象层(RTHAL,Real Time Hardware Abstraction Layer),实时任务通过这个抽象层提供的接口和Linux系统进行交互,这样在给Linux内核中增加实时支持时可以尽可能少地修改 Linux的内核源代码。 7/27/2024112EmbeddedOperatingSystems4)EmbedixvEmbedix和基于Embedix的一整套嵌入式Linux开发环境是由Lineo公司开发的v基于PowerPC和x86平台开发v使用模块化设计方案,方便剪彩v通过使用Embedix可以进行个性化内核开发v7/27/2024113EmbeddedOpera
63、tingSystems主要内容主要内容一、嵌入式系统基本概念二、嵌入式硬件的发展三、嵌入式软件及其开发四、嵌入式操作系统及系统开发五、典型嵌入式操作系统介绍六、嵌入式操作系统选型六、嵌入式操作系统选型7/27/2024114EmbeddedOperatingSystems嵌入式系统选型v一般而言,在选择嵌入式操作系统时,可以遵循以下6个原则:1.市场进入时间2.可移植性3.可利用资源4.系统定制能力5.成本6.中文内核支持7/27/2024115EmbeddedOperatingSystems1、市场进入时间v制定产品时间表与选择操作系统有关系例如Windows系列嵌入式操作系统WinCE,由
64、于具有丰富的人力资源。使用WinCE能够很快进入市场。因为WinCE+X86做产品实际上是在做减法,去掉你不要的功能,能很快出产品。缺点缺点:成本偏高, 核心竞争力差。但一些高效的操作系统可能由于编程人员缺乏,或由于这方面的技术积累不够,影响开发进度。7/27/2024116EmbeddedOperatingSystems2、可移植性v主要指操作系统的相关性。当进行嵌入式软件开发时,可移植性是要重点考虑的问题较好的软件的移植性应该也比较好,可以在不同平台、不同系统上运行,跟操作系统无关。但,软件的通用性和软件的性能通常是矛盾的。l通用以损失某些特定情况下的优化性能为代价。l很难设想开发一个嵌入
65、式浏览器而仅能在某一特定环境下应用。反 过来说,当产品与平台和操作系统紧密结合时,往往你的产品的特色就蕴含其中。 7/27/2024117EmbeddedOperatingSystems3、可利用资源v操作系统的可利用资源对于选型是一个重要参考条件产品开发不同于学术课题研究,其目的是快速、低成本、高质量的推出适合用户需求的产品。因此,要集中精力研发出产品的特色,其他功能尽量由操作系统附加或采用第三方产品。Linux和WinCE都有大量的资源可以利用。其它有些实时操作系统由于比较封闭,开发时可以利用的资源比较少,因此多数功能需要自己独立开发。从而影响开发进度。近来的市场需求显示,越来越多的嵌入式
66、系 统,均要求提供全功能的Web浏览器。而这要求有一个高性能、高可靠的GUI的支持。7/27/2024118EmbeddedOperatingSystems4、系统定制能力v信息产品不同于传统PC的Wintel结构的单纯性,用户的需求是千差万别的,硬件平台也都不一样,所以对系统的定制能力提出了要求。v要分析产品是否对系统底层有改动的需求,这种改动是否伴生着产品特色?Linux由于其源代码开放的天生魅力,在定制能力方面具有优势。随着Wince 3.0原码的开放,以及微软在嵌入式领域力度的加强,其定制能力会有所提升。7/27/2024119EmbeddedOperatingSystems5、成本v
67、操作系统的选择会对成本有什么影响呢?免费?Linux免费,WinCE等商业系统需要支付许可证使用费,但这都不是问题的 答案。成本是需要综合权衡以后进行考虑的:选择某一系统可能会对其它一系列的因素产生影响,如对硬件设备的选型、人员投入、以及公司管理和与其它合作 伙伴的共同开发之间的沟通等许多方面的影响 7/27/2024120EmbeddedOperatingSystems6、中文内核支持v国内产品需要对中文的支持。由于操作系统多数采用西文方式,是否支持双字节编码方式,是否遵循GBK,GB18030等各种国家标准,是否支持中文输入与处理,是否提供第三方中文输入接口是针对国内用户的嵌入式产品的必需
68、考虑的重要因素。7/27/2024121EmbeddedOperatingSystems v总的来说,选择嵌入式操作系统就是选择“做加法还是做减法”的问题。用WinCE+x86出产品是减法这实际上就是所谓PC家电化另外一种做法是加法:利用家电行业的硬件解决方案(绝大部分是非x86的)加以改进,加上嵌入式操作系统,再加上应用软件。这是所谓家电PC化的做法7/27/2024122EmbeddedOperatingSystemsv“做加法”的优势是成本低,特色突出;缺点是产品研发周期长,难度大(需要深入了解硬件和操作系统)。v若选择做加法,Linux是一个好选择,可以深入到系统底层。 7/27/20
69、24123EmbeddedOperatingSystems选用选用Linux的理由的理由v可获得源码v没有许可证问题v可靠v有开发源码社群的支持7/27/2024124EmbeddedOperatingSystems选用选用Linux的其他理由的其他理由v程序代码的质量与可靠度模块化与结构化容易修改可扩充可配置可预测错误恢复能力长期运行能力7/27/2024125EmbeddedOperatingSystemsv程序代码的可用性v对硬件的支持v通信协议与软件标准v可用工具v不依赖特定的厂商v成本7/27/2024126EmbeddedOperatingSystems作业:作业:1)国内对于嵌入
70、式系统的定义是什么?2)什么是实时系统?根据实时性,嵌入式操作系统有哪些类型?3)选择嵌入式操作系统原则有哪些?4)列举一些常见的嵌入式操作系统。7/27/2024127EmbeddedOperatingSystemsProject1v嵌入式操作系统调研通过各种网络资源,了解目前在嵌入式各个领域中占据主要市场的嵌入式操作系统有哪些(要给出出处,参考文献等)选择你感兴趣的某个领域,举例说明这个领域(或某项产品)对嵌入式操作系统的需求有哪些?举例说明某个嵌入式操作系统是如何满足这些需求的。了解目前,嵌入式专业相关的工作有哪些?需要哪些技术积累?v给出调研报告7/27/2024128EmbeddedOperatingSystemsThanksThanks!The end.结束语结束语谢谢大家聆听!谢谢大家聆听!130