《iAAA嵌入式系统.ppt》由会员分享,可在线阅读,更多相关《iAAA嵌入式系统.ppt(127页珍藏版)》请在三一文库上搜索。
1、嵌入式系统 及其软件开发概述,陈香兰 0551-3606864-83 2006.5.17,xlanchen2006.5.17,Embedded Operating Systems,2,主要内容,嵌入式系统基本概念 嵌入式硬件的发展 嵌入式软件及其开发 嵌入式操作系统及系统开发 典型嵌入式操作系统介绍 嵌入式操作系统选型,xlanchen2006.5.17,Embedded Operating Systems,3,主要内容,嵌入式系统基本概念 嵌入式硬件的发展 嵌入式软件及其开发 嵌入式操作系统及系统开发 典型嵌入式操作系统介绍 嵌入式操作系统选型,xlanchen2006.5.17,Embe
2、dded Operating Systems,4,嵌入式系统无处不在,xlanchen2006.5.17,Embedded Operating Systems,5,嵌入式系统开发技术,嵌入式系统开发技术 是微处理器、单片机、微处理器等的应用技术,包含硬件系统和操作系统两大部分。 嵌入式系统的开发具有系统级应用开发技术的基本特征。,xlanchen2006.5.17,Embedded Operating Systems,6,什么是嵌入式系统: 来自IEEE的定义,“Embedded system is devices used to control, monitor, or assist the
3、 operation of equipment, machinery or plants”. IEEE 上述定义主要从应用上加以定义。 可以看出:嵌入式系统是软硬件的综合体,还可以涵盖机械等附属装置。,xlanchen2006.5.17,Embedded Operating Systems,7,什么是嵌入式系统: 广义上,嵌入式系统是一种应用系统,它至少包含一个可编程的计算机(通常是某种形式的微控制器、微处理器或数字信号处理芯片(DSP)且使用该系统的人一般并未意识到该系统是基于计算机的。,xlanchen2006.5.17,Embedded Operating Systems,8,什么是嵌入
4、式系统: 国内的经典定义,嵌入式系统是 “以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统” 一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等部分组成,用于实现对其他设备的控制、监视或管理等功能。,xlanchen2006.5.17,Embedded Operating Systems,9,可以从以下几个方面来理解国内对嵌入式系统的定义: 嵌入式系统是面向用户、面向产品、面向应用的,它必须与具体应用相结合才会具有生命力、才更具有优势。 即嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须结合实
5、际系统需求进行合理的裁减利用。,xlanchen2006.5.17,Embedded Operating Systems,10,嵌入式系统是将先进的计算机技术、半导体技术和电子技术以及各个行业的具体应用相结合后的产物。 这就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。所以,介入嵌入式系统行业,必须有一个正确的定位。例如 Palm OS之所以在PDA领域占有70以上的市场,就是因为其立足于个人电子消费品,着重发展图形界面和多任务管理; 而风河的vxWorks之所以在火星车上得以应用,则是因为其高实时性和高可靠性。,xlanchen2006.5.17,Embedded
6、Operating Systems,11,嵌入式系统必须根据应用需求可对软硬件进行裁剪,满足应用系统的功能、可靠性、成本、体积等要求。所以,如果能建立相对通用的软硬件基础,然后在其上开发出适应各种需要的系统,是一个比较好的发展模式。目前的嵌入式系统的核心往往是一个只有几KB到几十KB的微内核,需要根据实际的使用进行功能扩展或者裁减,但是由于微内核的存在,使得这种扩展能够非常顺利地进行。,xlanchen2006.5.17,Embedded Operating Systems,12,同时还应该看到,嵌入式系统本身还是一个外延极广的名词。凡是与产品结合在一起的具有嵌入式特点的控制系统都可以叫嵌入式
7、系统,而且有时很难给它下一个准确的定义。,xlanchen2006.5.17,Embedded Operating Systems,13,嵌入式系统的体系结构,一般而言,嵌入式系统的构架可以分成四个部分: 处理器、存储器、 输入输出(I/O)、 软件 多数嵌入式设备的应 用软件和操作系统都 紧密结合,在这里对 其不加区分,这也是 嵌入式系统和Windows 系统的最大区别) 。,软件,处理器,存储器,输入,输出,xlanchen2006.5.17,Embedded Operating Systems,14,嵌入式系统特点,嵌入式计算机系统同通用型计算机系统相比具有以下特点: 嵌入式系统通常是面
8、向特定应用的。 嵌入式CPU与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。,xlanchen2006.5.17,Embedded Operating Systems,15,嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力 嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此
9、嵌入式系统产品一旦进入市场,具有较长的生命周期。,xlanchen2006.5.17,Embedded Operating Systems,16,为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中 嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也不能对其中的程序功能进行修改,必须有一套开发工具和环境才能进行开发。,xlanchen2006.5.17,Embedded Operating Systems,17,主要内容,嵌入式系统基本概念:定义、体系结构、特点 嵌入式硬件的发展 嵌入式软件及其开发 嵌入式操作系统及系统开发
10、典型嵌入式操作系统介绍 嵌入式操作系统选型,xlanchen2006.5.17,Embedded Operating Systems,18,嵌入式系统硬件,从硬件方面来讲,各式各样的嵌入式处理器是嵌入式系统硬件中的最核心的部分。 目前,世界上具有嵌入式功能特点的处理器已超过1000种,流行体系结构包括MCU、MPU等30多个系列。 目前嵌入式处理器的 寻址空间:可以从64KB到16MB, 处理速度:最快可以达到2000MIPS, 封装:从几个引脚到几百个引脚不等。,xlanchen2006.5.17,Embedded Operating Systems,19,嵌入式系统硬件分类,目前来讲,嵌入
11、式处理器可以分成这样一些类型 嵌入式微处理器(MPU) 嵌入式微控制器(MCU) 嵌入式DSP处理器 嵌入式片上系统(SoC),xlanchen2006.5.17,Embedded Operating Systems,20,嵌入式系统硬件分类,目前来讲,嵌入式处理器可以分成这样一些类型 嵌入式微处理器(MPU) 嵌入式微控制器(MCU) 嵌入式DSP处理器 嵌入式片上系统(SoC),xlanchen2006.5.17,Embedded Operating Systems,21,嵌入式微处理MPU,MPU(Microprocessor Unit)CPU MPU是由通用计算机中的CPU演变而来的,
12、在本质上与通用计算机的CPU是一样的,只是在具体的实现细节和功能上有所不同。 装配在专门设计的电路板上,只保留跟嵌入式应用紧密相关的功能部件,去除其他冗余功能部件,从而大幅减小系统的体积和功耗。 为了满足嵌入式应用的特殊需求,MPU在工作温度、抗电磁干扰、可靠性方面一般都做了各种增强 ,在功能上会失去一些在嵌入式领域不常用的功能单元,xlanchen2006.5.17,Embedded Operating Systems,22,和工业控制计算机相比, MPU具有体积小、质量轻、成本低、可靠性高的优点,但是在电路板上必须包括ROM、RAM、总线接口、各种外设等器件,从而降低了系统的可靠性,技术保
13、密性也比较差。 由于MPU及其存储器、总线、外设等安装在一块电路板上,称为单板计算机,如STD-BUS、PC104等。 MPU目前主要有: intel x86、IBM PowerPC、motorola 68K/coldfire、MIPS、ARM、Hitachi SuperH等系列,xlanchen2006.5.17,Embedded Operating Systems,23,典型嵌入式微处理器: ARM系列,ARM(Advanced RISC Machines) 是ARM公司的高性能、廉价、低功耗的RISC处理器,适用于多种领域 如嵌入控制、消费/教育类多媒体、DSP和移动式应用等。 ARM公
14、司将其硬件技术授权给世界上许多著名的半导体厂商,包括Intel,IBM,LG,NEC,SONY,Philps这样的大公司。 关于软件系统的合伙人,则包括Microsoft、SUN等一系列著名公司,xlanchen2006.5.17,Embedded Operating Systems,24,ARM公司提供一系列CPU内核、体系扩展、微处理器和系统芯片方案。 由于所有产品均采用一个通用的基本体系结构,所以相同的软件理论上可在所有产品中运行 目前,ARM公司常见的处理器系列有: ARM7、ARM9、ARM10、ARM11等,xlanchen2006.5.17,Embedded Operating
15、Systems,25,典型嵌入式微处理器: MIPS,MIPS Microprocessor without Interlocked Piped Stages “无内部互锁流水线微处理器” 也是现在比较流行的一种RISC处理器,其机制是尽量利用软件办法避免流水线中的数据相关问题 最早是在20世纪80年代初由美国斯坦福大学Hennessy教授领导的研究小组研制出来的 在嵌入式方面,仅次于ARM 应用领域覆盖游戏机,移动电话,数码相机,ATM,路由器,打印机,掌上电脑等等各个方面,非常广泛,xlanchen2006.5.17,Embedded Operating Systems,26,国内的嵌入式
16、微处理器: 龙芯,中国科学院计算所研制 具有自主知识产权 龙芯1号:32位MIPS处理器 龙芯2号 龙芯3号 龙芯+Linux 我们希望:龙芯+MiniCore,xlanchen2006.5.17,Embedded Operating Systems,27,手机的大概组成,xlanchen2006.5.17,Embedded Operating Systems,28,嵌入式系统硬件分类,目前来讲,嵌入式处理器可以分成这样一些类型 嵌入式微处理器(MPU) 嵌入式微控制器(MCU) 嵌入式DSP处理器 嵌入式片上系统(SoC),xlanchen2006.5.17,Embedded Operati
17、ng Systems,29,嵌入式微控制器MCU(1),MCU = Microcontroller Unit 一般又称为单片机,即将整个计算机系统集成到一块芯片中 MCU一般以某种微处理器内核为核心,芯片内部集成ROM/EPROM,总线,总线逻辑,定时器,I/O单元,串口,A/D,D/A,flash等各种必要功能和外设 为适应不同的应用需求,一般一个系列的单片机具有多种衍生产品,每种衍生产品的处理器内核基本都是一样的,不同的是存储器和外设的配置及封装,xlanchen2006.5.17,Embedded Operating Systems,30,嵌入式微控制器MCU(2),与MPU相比,MCU
18、的特点是 单片化,体积大大减小,成本和功耗下降,可靠性提高 微控制器的片上资源一般比较丰富,适合于比较简单的控制过程(得名的来由),xlanchen2006.5.17,Embedded Operating Systems,31,嵌入式微控制器MCU(3),代表性的通用系列 intel 8051,P51XA,MCS系列,motorola 68300等等 半通用系列 支持USB接口的MCU 8XC930/932、C540、C541 支持I2C、CAN-bus、LCD的MCU 等等,xlanchen2006.5.17,Embedded Operating Systems,32,嵌入式系统硬件分类,目
19、前来讲,嵌入式处理器可以分成这样一些类型 嵌入式微控制器(MCU) 嵌入式微处理器(MPU) 嵌入式DSP处理器 嵌入式片上系统(SoC),xlanchen2006.5.17,Embedded Operating Systems,33,嵌入式DSP处理器EDSP,EDSP = Embedded Digital Signal Processor DSP在运算量较大(特别是向量运算、指针线性寻址很多)的场合发挥重要作用 对系统结构和指令进行了特殊设计,使其适合与执行DSP算法,编译效率较高,指令执行速度也较高 除了数字滤波,FFT等之外,DSP处理器在各种带有智能逻辑的产品,生物信息识别终端,实时
20、语音编码解码系统中都得到了广泛的应用 代表性的产品是Texas Instruments公司的TMS320系列和Motorola的DSP56000系列,xlanchen2006.5.17,Embedded Operating Systems,34,嵌入式系统硬件分类,目前来讲,嵌入式处理器可以分成这样一些类型 嵌入式微控制器(MCU) 嵌入式微处理器(MPU) 嵌入式DSP处理器 嵌入式片上系统(SoC),xlanchen2006.5.17,Embedded Operating Systems,35,嵌入式片上系统SOC(1),SOC = System on Chip 随着VLSI技术的发展,在
21、一个硅片上可以包括CPU,各种外设控制器(如网络控制器、LCD控制器等)等多个功能单元,构成一个完整的复杂硬件系统,这就是嵌入式片上系统 嵌入式处理器内核可以作为SoC的一种标准库,与其他嵌入式系统外设一样,成为VLSI设计中的一种标准器件,用VHDL等语言描述,存储在器件库中 用户只需定义出其整个应用系统,仿真通过后,就可以将设计图交给半导体工厂制作,xlanchen2006.5.17,Embedded Operating Systems,36,嵌入式片上系统SOC(2),这样,整个嵌入式系统大部分都可以集成到一块或几块芯片中去,系统电路板将变得很简洁,对减小体积和功耗,提高可靠性非常有利
22、SoC可以分为通用和专用两类,市场份额比较小,xlanchen2006.5.17,Embedded Operating Systems,37,主要内容,嵌入式系统基本概念 嵌入式硬件的发展 嵌入式软件及其开发 嵌入式操作系统及系统开发 典型嵌入式操作系统介绍 嵌入式操作系统选型,xlanchen2006.5.17,Embedded Operating Systems,38,嵌入式系统的软件,简单的嵌入式应用 若嵌入式系统的功能需求比较简单,如电动玩具、空调、冰箱等,则嵌入式系统软件只需完成较简单的功能,就不需要嵌入式操作系统的支持。 如:基于8051的应用 儿童玩具、汽车系统等等 复杂的嵌入式
23、应用 若功能比较复杂,需要网络功能、存储器管理、进程/线程管理等,则通过嵌入式操作系统的帮助,可以加快嵌入式系统软件的开发进度和可靠性。,xlanchen2006.5.17,Embedded Operating Systems,39,简单的嵌入式应用,简单的嵌入式应用不需要使用操作系统 当系统上电后,main函数将被调用,首先初始化,然后进入循环直到系统停电或者出现重大错误。 超级循环 void main(void) /prepare for function X X_init(); While(1) X(); ,xlanchen2006.5.17,Embedded Operating Sys
24、tems,40,简单的嵌入式应用的开发过程,简单的嵌入式应用的开发过程 在个人电脑上配置交叉开发环境、安装仿真器,编写程序,交叉编译,在仿真器上运行测试并修改直到软件满足需求; 利用面包板开发和调试软、硬件 利用编程器将软件烧到开发好的系统中进行现场运行测试,xlanchen2006.5.17,Embedded Operating Systems,41,主要内容,嵌入式系统基本概念 嵌入式硬件的发展 嵌入式软件及其开发 嵌入式操作系统及系统开发 典型嵌入式操作系统介绍 嵌入式操作系统选型,xlanchen2006.5.17,Embedded Operating Systems,42,嵌入式操作
25、系统,简单的说,嵌入式操作系统就是支持嵌入式系统工作的操作系统。在本质上与通用的操作系统没有太大的区别,一般用于比较复杂的嵌入式系统中,例如 手机、PDA等电子类消费产品 机顶盒、路由器等 对嵌入式系统的硬件有较高的要求,xlanchen2006.5.17,Embedded Operating Systems,43,基于嵌入式操作系统的嵌入式应用开发,确定需求 根据需求选择合适的硬件 硬实时/软实时系统? 什么处理器?哪些辅助硬件? 选择嵌入式操作系统 选择开发平台 编程语言、软件开发工具 实际的开发平台包括硬件开发平台、操作系统、编程语言以及软件开发工具,xlanchen2006.5.17,
26、Embedded Operating Systems,44,编写并优化代码 一般在主机系统上进行开发和优化工作。 代码优化主要在软件执行速度和软件尺寸之间取得平衡,满足嵌入式系统对速度和存储空间的限制。在嵌入式开发中,一般需要避免使用大型的软件库,避免使用递归编程,减少堆栈的消耗。 在模拟器或者开发板上调试,xlanchen2006.5.17,Embedded Operating Systems,45,嵌入式软件系统的指标,尺寸 满足硬件限制 实时性 硬实时,软实时和非实时系统 网络能力 人机交互能力,xlanchen2006.5.17,Embedded Operating Systems,4
27、6,嵌入式系统的实时性,嵌入式系统一般具有实时的特点。 所谓实时系统是指在这种系统中, 一个优先级高的任务能够得到立即的、没有延迟的服务,不需要等待任何其他优先级低的任务,一旦它得到CPU的使用权,将一直执行直到工作结束或者出现更高级别的进程。 为了满足这样的需求,嵌入式操作系统必须具有高效的中断处理能力和高效的IO能力,xlanchen2006.5.17,Embedded Operating Systems,47,嵌入式操作系统分类,硬实时系统 确保系统中的关键任务在确定的时间得到响应,不能有失败的情况,否则会出现严重后果 软实时系统 设计的时候是有响应时间要求的,但是偶尔某些任务的响应时间
28、超过这个限制也不会有严重的后果 非实时系统 无响应时间的要求,xlanchen2006.5.17,Embedded Operating Systems,48,实时系统的几个指标,预测反应时间 可调度性 强负载下的稳定性,xlanchen2006.5.17,Embedded Operating Systems,49,预测反应时间,在工业控制系统中,实时可定义为系统对某事件响应 时间的可预测性。 一个事件发生后,系统须在一个可准确预见的时间范围内作出反应。,xlanchen2006.5.17,Embedded Operating Systems,50,可调度性,实时任务具有时限要求,调度实时任务时
29、,需要判断是否每个任务的执行都能够在其截止期限内完成。 如果每个任务的执行都能够在其截止期限内完成,则称该调度是可行的 可调度性判定(或称调度可行性判定)就是判定给定的n个实时任务在应用某种调度算法的前提下能否产生一个可行的调度。 调度算法的设计要尽可能满足任务可调度性的要求,xlanchen2006.5.17,Embedded Operating Systems,51,强负载下的稳定性,实时稳定性随着系统的负载有所不同 当系统的负载变得很大时,如果系统不能保证所有任务的时间要求,应当能使其中一部分关键任务始终满足时限要求,xlanchen2006.5.17,Embedded Operatin
30、g Systems,52,主要内容,嵌入式系统基本概念 嵌入式硬件的发展 嵌入式软件及其开发 嵌入式操作系统及系统开发 典型嵌入式操作系统介绍 嵌入式操作系统选型,xlanchen2006.5.17,Embedded Operating Systems,53,嵌入式操作系统一览,xlanchen2006.5.17,Embedded Operating Systems,54,常见嵌入式实时操作系统,RTlinux及其他嵌入式实时Linux uC/OS II wind river systems公司的Vxworks QNX software systems公司的QNX。 pSOS OS/9 VRT
31、X eCOS,xlanchen2006.5.17,Embedded Operating Systems,55,常见嵌入式非实时操作系统,Microsoft公司的windows CE、Embedded windows xp Palm公司的Palm OS symbian公司的EPOC 一些嵌入式linux系统,xlanchen2006.5.17,Embedded Operating Systems,56,几款典型的嵌入式操作系统介绍,uC/OS II ThreadX Windows系列的嵌入式操作系统 VxWorks 嵌入式Linux,xlanchen2006.5.17,Embedded Oper
32、ating Systems,57,几款典型的嵌入式操作系统介绍,uC/OS II ThreadX Windows系列的嵌入式操作系统 VxWorks 嵌入式Linux,xlanchen2006.5.17,Embedded Operating Systems,58,uC/OS II,免费的公开源码实时操作系统 内核提供任务调度和管理、时钟管理、任务间同步与通信、内存管理和中断服务等功能 最多支持64个任务,分别对应优先级063,其中0为最高优先级 可剥夺实时多任务内核 调度工作的内容分为两部分:最高优先级任务的寻找和任务切换,xlanchen2006.5.17,Embedded Operatin
33、g Systems,59,内核是针对实时系统的要求来设计实现的,相对比较简单,可以满足较高的实时性要求 但是没有网络功能和文件系统,对于像媒体播放、需要网络和图形界面支持的应用就比较差,xlanchen2006.5.17,Embedded Operating Systems,60,几款典型的嵌入式操作系统介绍,uC/OS II ThreadX Windows系列的嵌入式操作系统 VxWorks 嵌入式Linux,xlanchen2006.5.17,Embedded Operating Systems,61,ThreadX操作系统,只需要很小的存储器容量(最低5k) 硬实时的处理能力 有功能强大
34、的专门的开发调试支持工具 支持了市场上绝大部分的CPU 同样也是商业化的操作系统,xlanchen2006.5.17,Embedded Operating Systems,62,几款典型的嵌入式操作系统介绍,uC/OS II ThreadX Windows系列的嵌入式操作系统 VxWorks 嵌入式Linux,xlanchen2006.5.17,Embedded Operating Systems,63,更强的功能,微软的移动平台,xlanchen2006.5.17,Embedded Operating Systems,64,Windows Embedded 家族,xlanchen2006.5
35、.17,Embedded Operating Systems,65,Windows CE,主要用于PDA,smartphone等个人手持终端上 支持多线程 支持多种软硬件 最大的特点就是能提供与pc 机类似的图形界面和主要的应用程序 地道的商业操作系统,xlanchen2006.5.17,Embedded Operating Systems,66,Windows CE(2),主要模块 内核模块:支持进程和线程处理及内存管理等基本服务 内核系统调用接口模块:运行应用程序访问操作系统提供的服务 文件系统模块:支持dos,fat等格式的文件系统 图形窗口和事件子系统模块:控制图形显示,并提供wind
36、ows GUI界面 通信模块:运行同其他设备进行信息交换,xlanchen2006.5.17,Embedded Operating Systems,67,几款典型的嵌入式操作系统介绍,uC/OS II ThreadX Windows系列的嵌入式操作系统 VxWorks 嵌入式Linux,xlanchen2006.5.17,Embedded Operating Systems,68,VxWorks嵌入式实时操作系统,VxWorks 是风河(WindRiver)公司开发的一款商用硬实时操作系统 支持主流的32位CPU,包括 x86、 68K、PowerPC、MIPS、ARM等 基于微内核结构,由4
37、00多个相对独立的,短小精悍的目标模块组成,可裁剪性和可配置性相当出色,xlanchen2006.5.17,Embedded Operating Systems,69,VxWorks,主要思想: 在嵌入式系统中最大限度地实现内核的时间可预测性,根据用户定义的任务优先级对任务实现调度。 给用户最大的控制权,xlanchen2006.5.17,Embedded Operating Systems,70,VxWorks,Vxworks的基本构成模块包括以下部分 : 高效实时微内核wind: Vxworks实时微内核wind以灵活性和可配置性为设计目标,它主要包括 基于优先级的任务调度 任务同步和通信
38、 中断处理 定时器 内存管理 兼容POSIX实时系统标准,xlanchen2006.5.17,Embedded Operating Systems,71,I/O处理系统: Vxworks提供与ANSIC兼容的I/O处理系统,主要包括 UNIX缓冲I/O处理系统,和 面向实时的异步I/O处理系统 本机文件系统 网络处理模块: Vxworks网络处理模块能与许多运行其他协议的网络进行通信,如TCP/IP、NFS、UDP、SNMP、FTP等,xlanchen2006.5.17,Embedded Operating Systems,72,虚拟内存模块VxVMI: VxVMI主要用于对指定内存区的保护,
39、如内存块只读等 共享内存模块VxMP: 主要用于多处理器行运行任务之间的共享信号量、消息队列、内存块管理 板级支持包BSP: 提供各种硬件的初始化、中断的建立、定时器、内存映象,xlanchen2006.5.17,Embedded Operating Systems,73,VxWorks的评价,Vxworks是一款非常出色的嵌入式实时操作系统,但是它是不公开源码的商业化操作系统,价格比较高 为追求系统的实时性而设计的,并不是以通用OS为设计目标。 去掉了一些OS模块,因为这些模块在某种程度上会影响系统的实时性 (如在内存管理中没有采用页面管理模式,采用的是平板式内存)。,xlanchen200
40、6.5.17,Embedded Operating Systems,74,任务调度采用的是基于优先级的抢占式任务调度模式,优先级分256级(0-255) 用户可以动态的改变优先级,但是这种做法不提倡 用户可以锁定一个任务使它不被更高的任务或中断抢占 允许使用固定优先级响应时间来检查任务调度的性能,xlanchen2006.5.17,Embedded Operating Systems,75,资源共享和优先级继承机制 采用最优化的上下文切换和中断返回机制. 内核从不禁止非屏蔽中断 NMI (non-maskable interrupts),xlanchen2006.5.17,Embedded O
41、perating Systems,76,VxWorks缺点,缺少某些OS特性 保证时限要求是设计者自己的任务(系统的灵活性带来的弊端) 不支持很多应用和APIs(只支持部分POSIX标准的函数集) 尽管采用了平板式内存管理,但是由于内存的动态分配,仍然存在内存段,这样仍然存在时间上的不可预测性,xlanchen2006.5.17,Embedded Operating Systems,77,应用领域主要局限在对实时性要求较严格的硬实时系统中 带给用户最大的控制权的同时,用户对系统的实时性调度责任也更大,xlanchen2006.5.17,Embedded Operating Systems,78
42、,Tornado 集成开发环境,xlanchen2006.5.17,Embedded Operating Systems,79,GDB 调试工具,xlanchen2006.5.17,Embedded Operating Systems,80,WindView 多任务跟踪和观察工具,xlanchen2006.5.17,Embedded Operating Systems,81,几款典型的嵌入式操作系统介绍,uC/OS II ThreadX Windows系列的嵌入式操作系统 VxWorks 嵌入式Linux ,xlanchen2006.5.17,Embedded Operating System
43、s,82,将Linux嵌入到各种设备中:,NASA 个人助理,xlanchen2006.5.17,Embedded Operating Systems,83,开发过程,Linux 操作系统选择,操作系统的移植与改进,Driver and Application software development,从系统设计,测试,Rehat,bluecat,RTLinux,Monta Vista Linux,RTAI,http:/linux.orghttp:/www.gnu.org,Tekram,HP,Intel,xlanchen2006.5.17,Embedded Operating Systems,
44、84,Linux简介,什么是Linux Linux发展简史 Linux系统的好处 Linux系统组成 Linux版本,xlanchen2006.5.17,Embedded Operating Systems,85,什么是Linux?,Linux是一个类似Unix(Unix-like)的操作系统,在1991年发行了它的第一个版本 在不同的语境下,“Linux”具有不同的内涵,例如: Linux内核、Linux系统或Linux开发套件等术语。 严格来说,Linux指的是Linux Torvalds维护的(及通过主要和镜像网站发布的)内核。 GNU/Linux GNU/Linux的拥护者们认为,Li
45、nux仅仅是指Linux内核,而整个Linux系统的大部分都建立在GNU软件之上。,xlanchen2006.5.17,Embedded Operating Systems,86,Linux发展简史,1991年11月,芬兰赫尔辛基大学的学生 Linus Torvalds写了个小程序,取名为Linux,放在互联网上。他表达了一个愿望,希望借此搞出一个操作系统的“内核”来,这完全是一个偶然事件 1993,在一批高水平黑客的参与下,诞生了Linux 1.0 版 1994年,Linux 的第一个商业发行版 Slackware 问世,xlanchen2006.5.17,Embedded Operatin
46、g Systems,87,1996年,美国国家标准技术局的计算机系统实验室确认 Linux 版本 1.2.13(由 Open Linux 公司打包)符合 POSIX 标准 2001年,Linux2.4版内核发布 2003年,Linux2.6版内核发布 ,xlanchen2006.5.17,Embedded Operating Systems,88,名词解释,POSIX Portable Operating System Interface Standard 中文:可移植操作系统接口标准 由IEEE制订,并由ISO接受为国际标准。 IEEE Institute for Electrical an
47、d Electronic Engineers 中文:电气电子工程师学会美 ISO International Organization for Standardization 中文:国际标准化组织 制定各行各业各种产品和服务的技术规范(国际标准),xlanchen2006.5.17,Embedded Operating Systems,89,Linux操作系统的主要内容,Linux是免费的、源代码开放的、符合POSIX标准规范的操作系统 拥有现代操作系统具有的所有内容,例如 抢占式多任务处理,支持多用户 内存保护, 支持SMP,支持TCP/IP, 支持绝大多数的32位和64位CPU 等 还有一
48、些其他操作系统没有的特色,比如 NFS,VFS,高效的EXT系列文件系统等,xlanchen2006.5.17,Embedded Operating Systems,90,Linux版本,Linux的内核版本 几种流行的Linux发行版本,xlanchen2006.5.17,Embedded Operating Systems,91,Linux的内核版本,Linux内核版本是由Linus Torvalds作为总体协调人的Linux开发小组(分布在各个国家的近百位高手)开发出的系统内核的版本号 Linux内核采用的是双树系统 一棵是稳定树,主要用于发行 另一棵是非稳定树或称为开发树,用于产品开发
49、和改进 Linux内核版本号由3位数字组成,r.x.y,第1位数字r为主版本号,第2位数字x为说明版本类型的次版本号,如果x为偶数,则表示为产品化版本,为奇数时表示为实验版本,第3位数字y为修改号,表示错误修补的次数,xlanchen2006.5.17,Embedded Operating Systems,92,几种流行的Linux发行版本,xlanchen2006.5.17,Embedded Operating Systems,93,Linux系统的好处,支持多种CPU X86, ARM, MIPS, SH, i960, PPC, etc. 开放源代码(Open source) 强大的网络功能 可移植性 使用GNU tools,xlanchen2006.5.17,Embedded Operating Systems,94,一个新潮,非常稳定,多用户,多任务的环境 标准的平台 无法超越的计算能力,可移动性和适应性 先进的图形用户界面 几
链接地址:https://www.31doc.com/p-3098196.html