最新嵌入式课程-第1讲(嵌入式系统综述)PPT课件.ppt
嵌入式课程嵌入式课程-第第1 1讲讲(嵌入式系统嵌入式系统综述综述)第一讲 嵌入式系统综述课程设置相关问题课程主要内容课程设置安排实验室环境嵌入式系统的基本概念嵌入式系统的定义嵌入式系统的构成要素微处理器操作系统嵌入式系统的基本开发流程开发流程调试方法2课程安排(1)第一讲第一讲 嵌入式系统概述嵌入式系统概述简要介绍嵌入式系统的基本概念、简要介绍嵌入式系统的基本概念、ARM微处理器微处理器的分类及特点、嵌入式操作系统的分类及其特点,的分类及特点、嵌入式操作系统的分类及其特点,以及嵌入式系统的开发过程。以及嵌入式系统的开发过程。第二讲第二讲 ARM体系结构与编程模型体系结构与编程模型主要介绍主要介绍ARM处理器核的结构、存储器结构和处理器核的结构、存储器结构和JTAG接口,以及接口,以及ARM处理器的编程模型。处理器的编程模型。第三讲第三讲ARM指令系统指令系统介绍介绍ARM体系的指令系统和寻址方式,包括体系的指令系统和寻址方式,包括32位位的的ARM指令集和指令集和16位的位的Thumb指令集,以及指令集,以及ARM宏汇编与汇编程序设计基础。宏汇编与汇编程序设计基础。9课程安排(课程安排(2)第四讲第四讲 PXA270处理器及处理器及ADS 开发硬件平台开发硬件平台介绍介绍PXA270的总体结构、存储器组织、系统控的总体结构、存储器组织、系统控制模块、外围控制模块,以及制模块、外围控制模块,以及ADS开发板的结构、开发板的结构、相关实验内容。相关实验内容。第五讲第五讲 嵌入式嵌入式linux开发基础开发基础介绍基于介绍基于PXA270的嵌入式的嵌入式Linux的交叉开发环境的交叉开发环境的创建过程、基本开发工具、以及进行简单应用的创建过程、基本开发工具、以及进行简单应用程序设计的方法。程序设计的方法。10课程安排(3)第六讲第六讲 BootLoader与嵌入式与嵌入式LINUX引导分析引导分析介绍基于介绍基于PXA270开发系统的开发系统的BootLoader的功能的功能与结构、以及嵌入式与结构、以及嵌入式Linux的引导过程。的引导过程。第七讲第七讲 嵌入式嵌入式LINUX的根文件系统的根文件系统介绍嵌入式介绍嵌入式linux的根文件系统的基本结构、文的根文件系统的基本结构、文件系统类型的选择以及创建过程。件系统类型的选择以及创建过程。第八讲第八讲 嵌入式嵌入式LINUX设备驱动程序设备驱动程序介绍嵌入式介绍嵌入式linux的设备驱动的基本概念、结构的设备驱动的基本概念、结构框架与实现,以及帧缓冲显示驱动的使用方法。框架与实现,以及帧缓冲显示驱动的使用方法。11课程安排(4)第九讲第九讲 串口通讯与串口通讯与短信收发系统设计短信收发系统设计介绍基于介绍基于GPRS硬件模块和硬件模块和Qt编程环境的短信收编程环境的短信收发系统的实现方法。发系统的实现方法。12课程安排(课程安排(5)实验环节实验环节1.系统引导及系统引导及LCD显示实验显示实验 2.eLinux系统构建实验系统构建实验 VMWarelinux的熟悉和使用的熟悉和使用 Linux基本操作基本操作 交叉编译环境的创建交叉编译环境的创建 MakeFile的编写和使用的编写和使用 BootLoader的编译、下载与使用 内核与文件系统编译下载13课程安排(课程安排(5)3.3.嵌入式嵌入式嵌入式嵌入式LinuxLinux设备驱动实验设备驱动实验设备驱动实验设备驱动实验 基本的编程实现基本的编程实现基本的编程实现基本的编程实现 数码管驱动与按键驱动的结构分析及使用方法数码管驱动与按键驱动的结构分析及使用方法数码管驱动与按键驱动的结构分析及使用方法数码管驱动与按键驱动的结构分析及使用方法4.4.串口通讯与短信收发系统综合实验串口通讯与短信收发系统综合实验串口通讯与短信收发系统综合实验串口通讯与短信收发系统综合实验 基于基于基于基于QtQt的嵌入式的嵌入式的嵌入式的嵌入式GUIGUI程序设计程序设计程序设计程序设计 串口通讯程序设计串口通讯程序设计串口通讯程序设计串口通讯程序设计 短信收发程序设计短信收发程序设计短信收发程序设计短信收发程序设计 程序编译下载与运行程序编译下载与运行程序编译下载与运行程序编译下载与运行14评分标准评分标准n n课堂表现与出勤率:课堂表现与出勤率:20n n实验表现:实验表现:50n n实验报告:实验报告:3015课件资源nftp服务器:218.192.169.1,port:21 user:emb,pwd:embedednIntel PXA270处理器参考手册nADS开发系统参考手册n嵌入式Linux BSP开发软件包n课程讲义16ARM中文版图书17参考书及资料(一)马忠梅等,ARM&Linux嵌入式系统教程,北航出版社,2004陈文智等,嵌入式系统开发原理与实践,清华大学出版社,2005 马忠梅,ARM嵌入式处理器结构与应用基础,北航出版社,2002陈章龙,嵌入式系统Intel StrongARM结构与开发,北航出版社,2002李驹光,ARM应用系统开发详解,清华大学出版社,200318参考书及资料(二)ARM System-on-chip Architeture (中文版),北航出版社,2002Craig Hollabansh,陈雷等译,嵌入式linux硬件、软件与接口,电子工业出版社,2003Alessandro Rubini,魏永明等译,linux设备驱动程序,第二版,电力出版社,2002MC9328MX1用户手册,Motorola,2002构建嵌入式Linux系统,中文版,2005中国Linux论坛 嵌入式世界19专用计算机系统(非PC智能电子设备)微处理器、定时器、存储器、传感器嵌入式的微型操作系统应用软件嵌入式系统的定义(1)以应用为中心的定义 以应用为中心以计算机技术和通讯技术为基础软件与硬件可剪裁满足系统对功能、成本、体积和功耗等要求20知识集成系统技术密集资金密集高度分散不可垄断面向应用不断创新 嵌入式系统的定义(嵌入式系统的定义(2)嵌入式Internet技术是指设备通过嵌入式模块而非PC系统直接接入Internet,以Internet为介质实现信息交互的过程 21典型嵌入式系统的基本结构嵌入式操作系统嵌入式应用软件软件系统硬件系统22嵌入式硬件系统嵌入式处理器各种存储器电源部分接口控制器及外围设备嵌入式硬件系统的基本构成23典型嵌入式硬件系统24嵌入式软件系统要素嵌入式软件系统要素嵌入式软件系统嵌入式软件系统板级支持包板级支持包(BSP)(BSP)设备驱动设备驱动嵌入式操作系统嵌入式操作系统协议栈协议栈应用程序等应用程序等 嵌入式操作系统设备驱动及一些中间件协议栈(JAVA VM/JITs)应用软件板级支持包(板级支持包(BSP)25嵌入式系统的几个特征嵌入式系统的几个特征系系统统精精简简 可用可用资资源有限,源有限,其其硬件和硬件和软软件系件系统统必必须须高率高率、量体裁衣量体裁衣。通常的原则通常的原则:满足功能,尽可能精简。:满足功能,尽可能精简。专用性强专用性强硬件和软件系统结合非常紧密。硬件和软件系统结合非常紧密。产品具有较长的生命周期。产品具有较长的生命周期。26嵌入式系统的几个特征高可靠性高可靠性高可靠性是嵌入式应用的基本要求高可靠性是嵌入式应用的基本要求 。大多数应用要求较强的实时性。大多数应用要求较强的实时性。专用开发工具和环境专用开发工具和环境 嵌入式系统本身不具备自举开发能力,必须嵌入式系统本身不具备自举开发能力,必须有一套专用开发工具和环境有一套专用开发工具和环境 。27嵌入式处理器分类嵌入式处理器分类n n嵌入式微处理器(嵌入式微处理器(EMPU)例如:龙珠系列处理器,例如:龙珠系列处理器,例如:龙珠系列处理器,例如:龙珠系列处理器,pxa270pxa270等。等。等。等。n n嵌入式微控制器嵌入式微控制器(EMCU)例如:例如:例如:例如:80518051等等等等n n嵌入式嵌入式DSP处理器处理器 例如:例如:例如:例如:TITI公司的公司的公司的公司的TMS320TMS320等等等等n n嵌入式片上系统(嵌入式片上系统(SOC-System On Chip)28嵌入式微处理器(嵌入式微处理器(EMPU)n n由通用计算机的由通用计算机的CPU发展而来发展而来n n与通用与通用CPU区别:区别:n n只保留和嵌入式应用紧密相关的功能硬只保留和嵌入式应用紧密相关的功能硬件,去除其他的冗余功能部分件,去除其他的冗余功能部分n n工作温度、抗电磁干扰、可靠性等得到工作温度、抗电磁干扰、可靠性等得到加强加强 n n需要配备需要配备ROM、RAM、FLASH等外设,等外设,可靠性与技术保密性降低。可靠性与技术保密性降低。29典型的嵌入式微处理器典型的嵌入式微处理器n nMIPSn nX86X86系列系列n nAm186/188Am186/188、386EX386EXn n开发方便,移植容易开发方便,移植容易n n体积大、功耗高、实时性差体积大、功耗高、实时性差n nARMARM系列系列n n小体积、低功耗、低成本、高性能小体积、低功耗、低成本、高性能n n支持支持16/3216/32位双指令集位双指令集n n全球众多的合作伙伴全球众多的合作伙伴n nPowerPCPowerPC系列系列n nMotorolaMotorola和和IBMIBM联合开发的微处理器核联合开发的微处理器核n n另外还有另外还有SPARCSPARC、68000,SC-40068000,SC-400等等30典型的嵌入式微处理器典型的嵌入式微处理器MIPSn nMIPS公司是一家设计制造高性能、高档次及公司是一家设计制造高性能、高档次及嵌入式嵌入式32位和位和64位处理器的厂商,在位处理器的厂商,在RISC处理器方面占有重要地位处理器方面占有重要地位n nMIPS于于80年代处开始年代处开始RISC处理器设计,处理器设计,90年代中后期开始将战略重点放在嵌入式处理年代中后期开始将战略重点放在嵌入式处理器设计器设计n n19991999年,年,年,年,MIPSMIPS发布了发布了发布了发布了MIPS 32MIPS 32和和和和MIPS 64MIPS 64架架架架构标准,为构标准,为构标准,为构标准,为MIPSMIPS处理器的开发奠定了基础处理器的开发奠定了基础处理器的开发奠定了基础处理器的开发奠定了基础n nMIPSMIPS公司开发了公司开发了公司开发了公司开发了3232位高性能,低功耗的处理器位高性能,低功耗的处理器位高性能,低功耗的处理器位高性能,低功耗的处理器内核内核内核内核MIPS 32 4KcMIPS 32 4Kc和和和和6464位的处理器内核位的处理器内核位的处理器内核位的处理器内核MIPS MIPS 64 5Kc64 5Kcn n应用范围:机顶盒、视频游戏机、应用范围:机顶盒、视频游戏机、Cisco路由路由器、激光打印机器、激光打印机31典型的嵌入式微处理器典型的嵌入式微处理器PowerPCn nPowerPC架构特点:可伸缩性好,方便灵活架构特点:可伸缩性好,方便灵活n n既有通用处理器,也有嵌入式微控制器和内核,既有通用处理器,也有嵌入式微控制器和内核,应用范围非常广泛,从高端服务器、工作站到应用范围非常广泛,从高端服务器、工作站到PC,从消费类电子到通信设备,从消费类电子到通信设备n n基于基于PowerPC架构的处理器有:架构的处理器有:n nIBM开发的开发的PowerPC 405 GP,集成了,集成了10/100M以太网控制器、串行和并行接口、以太网控制器、串行和并行接口、内存控制器及其他外设的高性能嵌入式处理内存控制器及其他外设的高性能嵌入式处理器器n nMPC823e是一款高度综合的片上系统是一款高度综合的片上系统(SOC)32典型的嵌入式微处理器典型的嵌入式微处理器x86n由由8086系列处理器发展而来系列处理器发展而来 最早的嵌入式处理器,目前在网卡、终端设最早的嵌入式处理器,目前在网卡、终端设备、工控等仍有不少应用。备、工控等仍有不少应用。n典型产品典型产品nAm186/188,386EXnNS Geode GX1 300MHZn主要特点主要特点n开发容易开发容易n方便移植方便移植n体积大,功耗高,实时性差体积大,功耗高,实时性差33嵌入式微控制器(嵌入式微控制器(EMCU)n n主要是指单片机主要是指单片机片内集成片内集成ROM/EPROM、RAM、FLASH/EEPROM、总线、定时器、计算器、总线、定时器、计算器、看门狗、看门狗、I/O、串行口、串行口、PWM(脉宽调制输(脉宽调制输出)、出)、A/D、D/A、等各种必要功能和外设、等各种必要功能和外设n n特点特点n n单片化,体积小,功耗低,可靠性强单片化,体积小,功耗低,可靠性强。n n仍是嵌入式处理器的主流,占仍是嵌入式处理器的主流,占70左右左右34典型的嵌入式微控制器典型的嵌入式微控制器n n典型器件:典型器件:n n通用系列:通用系列:8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、68300等等n n半通用系列:支持半通用系列:支持USB接口的接口的MCU 8XC930/931、C540、C541;支持;支持I2C、CAN-Bus、LCD的众多专用的众多专用MCU和兼容系和兼容系列列 35嵌入式嵌入式DSP(EDSP)n n系统结构和指令算法经过特殊设计,增强了系统结构和指令算法经过特殊设计,增强了数字信号处理能力(数字滤波、数字信号处理能力(数字滤波、FFT、谱分、谱分析等)析等)n n适于运算量大,特别是向量运算、指针线性适于运算量大,特别是向量运算、指针线性寻址较多的智能算法实现寻址较多的智能算法实现 n n主要应用于带有智能逻辑的消费类产品,生主要应用于带有智能逻辑的消费类产品,生物信息识别终端,带有加解密算法的键盘,物信息识别终端,带有加解密算法的键盘,ADSL接入、实时语音压解系统,虚拟现实接入、实时语音压解系统,虚拟现实显示等显示等 n n代表产品有代表产品有TI的的TMS320C2000/C5000 和和Motorola的的DSP56000 36嵌入式SOCnSystem On Chip,片上系统片上系统/系统芯片系统芯片n将很多功能模块集成到单个芯片上将很多功能模块集成到单个芯片上各种通用处理器内核作为各种通用处理器内核作为SOC设计公司的标准库,用设计公司的标准库,用VHDL等语言描述等语言描述除个别无法集成外,嵌入式系统的大部分集成到一或除个别无法集成外,嵌入式系统的大部分集成到一或几片芯片中几片芯片中n优点优点可利用降低片内工作电压,减少功耗可利用降低片内工作电压,减少功耗减少芯片对外引脚数,使系统板简洁,减小体积减少芯片对外引脚数,使系统板简洁,减小体积减少原来芯片间的信号传递,提高了处理速度;减少减少原来芯片间的信号传递,提高了处理速度;减少信号传递过程中可能造成的干扰,提高了可靠性信号传递过程中可能造成的干扰,提高了可靠性软硬件无缝结合,可直接片内嵌入操作系统代码模块软硬件无缝结合,可直接片内嵌入操作系统代码模块37不同体系结构嵌入式不同体系结构嵌入式CPU销售量对比销售量对比38关于ARMnARM=Advanced RISC MachinenRISC 的典型代表n32位处理器技术n嵌入式领域的主力军nARM的产品nARM处理器内核,以IP形式提供给IC生产厂家n硬核:有和特定工艺相连系的物理版图。n软核:用硬件描述语言或C语言写成,用于功能仿真nARM开发工具、SOC开发工具、评估板等nARM公司不生产芯片39ARM是Advanced RISC Machines的缩写,ARM处理器采用RISC(Reduced Instruction Set Computer)技术,即采用精简指令集体系结构。RISC相对于CISC体系结构,其设计思路是如何使计算机结构更加简单合理地提高运行速度。目前它还没有严格的定义。据统计,CISC的指令集中,约20的指令使用频率占80,而80指令的使用频率仅占20。ARM处理器(1)40CISC与RISCnCISCComplex Instruction Set Computer,复杂指令集nIntel,IA(Intel Architecture)32架构nAMDnRISCReduced Instruction Set Computer,精简指令集nSPARC,Sun与TI开发nPA-RISC,HP开发nAlpha,Compaq开发nPowerPC,IBM与Motorola开发nMIPSnARMn二者在软件和硬件上都不兼容41RISC体系结构特点体系结构特点采采用用固固定定长长度度的的指指令令格格式式,指指令令规规整整、简简单单(ARM指令为指令为32位)。位)。使用单周期指令,便于流水线操作。使用单周期指令,便于流水线操作。大量使用寄存器(大量使用寄存器(ARM共有共有37个个寄存器),数寄存器),数据处理指令只对寄存器操作,访问存储器只使据处理指令只对寄存器操作,访问存储器只使用用Load/Store指令。指令。ARM处理器处理器(2)42ARM处理器的特点处理器的特点小体积、低功耗、低成本、高性能小体积、低功耗、低成本、高性能支支持持Thumb(16位位)/ARM(32位位)双双指指令令集集,提提高指令密度高指令密度大量使用寄存器大量使用寄存器大多数数据操作都在寄存器中完成。大多数数据操作都在寄存器中完成。寻址方式简单灵活寻址方式简单灵活指令长度固定(指令长度固定(16/32位)位)ARM处理器处理器(3)43典型的典型的ARM微处理器(一)微处理器(一)n nIntelIntel公司的公司的公司的公司的StrongARMStrongARM系列系列系列系列:SA-SA-110/1100/1101/1110/1111,110/1100/1101/1110/1111,用于用于用于用于Palm Palm Pocket PCPocket PC等等等等n nIntelIntel公司的公司的公司的公司的XScaleXScale系列系列系列系列:PXA210/220/250/255PXA210/220/250/255n nCirrus LogicCirrus Logic公司的公司的公司的公司的ARMARM系列系列系列系列:EP7209/7211/7212/7312/9312,PS7500FEEP7209/7211/7212/7312/9312,PS7500FE,用于,用于,用于,用于MP3MP3n nSamsungSamsung公司的公司的公司的公司的ARMARM系列系列系列系列:S3C44B0,S3C2400,S3C4510S3C44B0,S3C2400,S3C4510,用于,用于,用于,用于ADSLADSL和和和和PDAPDAn nFreeScaleFreeScale半导体的半导体的半导体的半导体的DragonBall MXDragonBall MX系列系列系列系列,用于,用于,用于,用于PDAPDA等等等等44典型的典型的ARM微处理器(二)微处理器(二)n nQualcomm 公司公司的的MSP1000、MSM3000、MSM5000、MSM6000,用,用于于 CDMA n nPhilips 公司公司的的SAA7750、VWS22100、VCS94250、VWS26001,用于,用于 MP3,GSM,3G,BTn nTriscend 公司公司的的ARM产品:产品:A7 45ARM的广泛应用46嵌入式操作系统嵌入式操作系统47操作系统简述操作系统简述n n操作系统:操作系统:操作系统:操作系统:n n能够在核心态运行,并能够根据程序要求对硬件能够在核心态运行,并能够根据程序要求对硬件能够在核心态运行,并能够根据程序要求对硬件能够在核心态运行,并能够根据程序要求对硬件资源和软件资源进行直接控制管理的、有着一定资源和软件资源进行直接控制管理的、有着一定资源和软件资源进行直接控制管理的、有着一定资源和软件资源进行直接控制管理的、有着一定复杂逻辑算法关系的一组程序的集合。复杂逻辑算法关系的一组程序的集合。复杂逻辑算法关系的一组程序的集合。复杂逻辑算法关系的一组程序的集合。n n操作系统的发展操作系统的发展操作系统的发展操作系统的发展n n简单批处理简单批处理简单批处理简单批处理n n多道程序设计的批处理多道程序设计的批处理多道程序设计的批处理多道程序设计的批处理n n分时操作系统分时操作系统分时操作系统分时操作系统n n使用操作系统的好处和坏处使用操作系统的好处和坏处使用操作系统的好处和坏处使用操作系统的好处和坏处n n底层硬件抽象化,多任务,在比较复杂的应用情底层硬件抽象化,多任务,在比较复杂的应用情底层硬件抽象化,多任务,在比较复杂的应用情底层硬件抽象化,多任务,在比较复杂的应用情况下优势明显况下优势明显况下优势明显况下优势明显n n占用系统资源,简单应用情况下增加开发难度占用系统资源,简单应用情况下增加开发难度占用系统资源,简单应用情况下增加开发难度占用系统资源,简单应用情况下增加开发难度48嵌入式操作系统简介嵌入式操作系统简介n嵌入式操作系统嵌入式操作系统,负责嵌入式系统的全部软、硬件,负责嵌入式系统的全部软、硬件资源的分配、调度,控制、协调并发活动资源的分配、调度,控制、协调并发活动n嵌入式系统有多种操作系统可供选择嵌入式系统有多种操作系统可供选择nVxWorks,Palm OS,pSOS,OS-9,QNX,uCOS-IInWindows CE,NT,XP(如(如Windows Embedded Standard 2009)nLinux,uCLinuxnAndroid49除除具具有有普普通通操操作作系系统统的的功功能能如如任任务务调调度度、中中断断处处理等外,嵌入式操作系统还有以下特点:理等外,嵌入式操作系统还有以下特点:编码体积小,适合有限的存储空间编码体积小,适合有限的存储空间面向应用,可裁减和移植面向应用,可裁减和移植实时性强,又称实时多任务操作系统。实时性强,又称实时多任务操作系统。可靠性高以及较强的网络功能。可靠性高以及较强的网络功能。价格便宜价格便宜嵌入式操作系统的特点嵌入式操作系统的特点50嵌入式操作系统的分类(嵌入式操作系统的分类(1)n按体系的分类按体系的分类nWindows兼容系列兼容系列nWindows CE/NT/XPnLinux类类neLinux,uCLinux,RTLinux,Androidn通信领域嵌入式操作系统通信领域嵌入式操作系统nVxWorks,VRTX,QNS,pSOSn单片机类单片机类niRMX,CMX,uC/OSn面向面向Internet类:类:Palm OS,Visor,Hopen等等51嵌入式操作系统的分类(嵌入式操作系统的分类(2)n按商用和免费分类:按商用和免费分类:n免费型免费型nLinux:开放源码;内核小,效率高;易裁减;:开放源码;内核小,效率高;易裁减;支持多种支持多种CPU和硬件平台;众多的开发工具;和硬件平台;众多的开发工具;强大的技术支持;强大的网络功能;图像处强大的技术支持;强大的网络功能;图像处理、文件管理、多任务支持理、文件管理、多任务支持nUC/OS:源码公开;可移植,:源码公开;可移植,C+汇编;可固汇编;可固化,成为产品的一部分;可剪裁;占先式,化,成为产品的一部分;可剪裁;占先式,总是运行就绪条件下优先级最高的任务;多总是运行就绪条件下优先级最高的任务;多任务,任务,8+56;可确定性,执行时间可知;任;可确定性,执行时间可知;任务栈;系统服务;中断管理,务栈;系统服务;中断管理,255层嵌套;稳层嵌套;稳定性与可靠性。定性与可靠性。52嵌入式操作系统的分类(嵌入式操作系统的分类(3)nAndroid:2007年年11月月5日,日,Google(谷歌谷歌)收购由收购由Motorola几个工程师创业研发的基于几个工程师创业研发的基于Linux的手机操作平台后,成立基于该平台的的手机操作平台后,成立基于该平台的开源手机操作系统开发联盟,并命名为开源手机操作系统开发联盟,并命名为“Android”。Android平台由操作系统、中间件、用户界平台由操作系统、中间件、用户界面和应用软件组成,为移动终端打造的真正面和应用软件组成,为移动终端打造的真正开放和完整的移动软件。开放和完整的移动软件。53嵌入式操作系统的分类(嵌入式操作系统的分类(4)n商用型商用型nVxWorks:支持多种处理器,使用最广泛。:支持多种处理器,使用最广泛。nWindows CE:掌上设备、无线设备。基于:掌上设备、无线设备。基于Windows背景,界面美观。内核需要至少背景,界面美观。内核需要至少200K的的ROM。nPalm OS:3COM,Palm Computing掌上电掌上电脑公司;脑公司;PDA。npSOS:WindRiver公司。公司。nOS-9:Microwave公司;灵活性和可升级性公司;灵活性和可升级性突出。突出。54嵌入式操作系统的分类(嵌入式操作系统的分类(5)n n按实时按实时/非实时来分类非实时来分类n n实时操作系统:实时操作系统:VxWorks,RTLinuxn n弱实时操作系统:弱实时操作系统:Windows CE/NT/XPn n非实时操作系统非实时操作系统:Linux,uClinux55实时系统实时系统是指能够在指定或者确定的时间内,完是指能够在指定或者确定的时间内,完成系统功能,及对外部或者内部事件在同步或成系统功能,及对外部或者内部事件在同步或者异步时间内作出响应的系统。者异步时间内作出响应的系统。实时性的衡量指标实时性的衡量指标响应时间:对外部事件做出响应的时间。响应时间:对外部事件做出响应的时间。生存时间:数据的有效等待时间。生存时间:数据的有效等待时间。吞吐量:一定时间内,处理事件的总数。吞吐量:一定时间内,处理事件的总数。实时系统的概念(实时系统的概念(1)56实时系统的分类实时系统的分类根据响应时间分:根据响应时间分:弱弱实实时时系系统统:要要求求各各任任务务运运行行越越快快越越好好,但但并并不不严严格格限限定定在在规规定定时时间间内内完完成成,如如手手机机、银行计算机系统。银行计算机系统。强强实实时时系系统统:要要求求系系统统能能够够在在规规定定的的时时间间内内完完成成任任务务,如如航航天天控控制制系系统统,通通常常在在毫毫秒秒或或微妙级。微妙级。实时系统的概念(2)57实时系统的分类实时系统的分类根据确定性分类:根据确定性分类:硬硬实实时时系系统统:对对系系统统响响应应时时间间有有严严格格要要求求,如如果果不不能能满满足足,就就会会引引起起系系统统崩崩溃溃或或致致命命错错误。误。软软实实时时系系统统:对对系系统统响响应应时时间间有有要要求求,但但是是,如如果果响响应应时时间间不不能能满满足足,不不会会导导致致系系统统崩崩溃溃或出现致命错误。或出现致命错误。实时系统的概念(实时系统的概念(3)58IEEEIEEE的的UNIXUNIX委员会规定了实时操作系统需要具有委员会规定了实时操作系统需要具有的特点:的特点:支持异步的事件响应支持异步的事件响应 中断和调度任务的优先级机制中断和调度任务的优先级机制 支持抢占式调度支持抢占式调度确定的任务切换时间和中断延迟时间确定的任务切换时间和中断延迟时间内存锁定功能内存锁定功能连续文件支持连续文件支持支持同步支持同步 实时操作系统的特点实时操作系统的特点59实时内核实时内核主要实现任务管理、定时器管理、存储管理、主要实现任务管理、定时器管理、存储管理、任务间通信与同步,中断管理等。任务间通信与同步,中断管理等。实时网络组件实时网络组件内核的一个上层功能组件,为应用程序提供内核的一个上层功能组件,为应用程序提供网络服务网络服务实时操作系统的组成(实时操作系统的组成(1 1)60文件系统文件系统负责存取和管理文件信息,包括文件的建立、负责存取和管理文件信息,包括文件的建立、撤销、组织、读写、修改、复制及对文件管撤销、组织、读写、修改、复制及对文件管理所需要的资源实施管理等理所需要的资源实施管理等较为复杂的应用一般需要文件系统。较为复杂的应用一般需要文件系统。图形接口图形接口提供用户界面开发能力,可裁剪。提供用户界面开发能力,可裁剪。实时操作系统的组成(实时操作系统的组成(2 2)61管理内容:管理内容:建立任务建立任务删除任务删除任务挂起任务挂起任务恢复任务恢复任务对任务的响应、切换对任务的响应、切换任务调度任务调度实时性的关键:实时性的关键:调度算法调度算法基于优先级的抢占式调度算法基于优先级的抢占式调度算法同一优先级的时间片轮转调度算法同一优先级的时间片轮转调度算法单调速率调度算法。单调速率调度算法。实时内核的任务管理实时内核的任务管理62就绪态就绪态任务就绪后进入等待队列,等待调度。任务就绪后进入等待队列,等待调度。运行态运行态获得获得CPUCPU和资源使用权。和资源使用权。挂起态挂起态运行的任务时因申请资源等原因而被挂起,运行的任务时因申请资源等原因而被挂起,等待运行条件的满足。等待运行条件的满足。休眠态休眠态在内存中但不被调度的任务状态。在内存中但不被调度的任务状态。中断状态中断状态:被中断任务的状态。:被中断任务的状态。实时内核中任务的状态实时内核中任务的状态63基于优先级的抢占式调度算法基于优先级的抢占式调度算法n优先级调度原则优先级调度原则高优先级任务优先得到系统资源高优先级任务优先得到系统资源n抢占式调度原则抢占式调度原则高优先级任务能够抢占低优先级任务的高优先级任务能够抢占低优先级任务的CPUCPU控制权。控制权。特点:任务级响应时间最优化,且是确定的。特点:任务级响应时间最优化,且是确定的。n非抢占式调度原则非抢占式调度原则只允许中断抢占运行中任务的只允许中断抢占运行中任务的CPUCPU控制权。控制权。特点:任务级响应时间不确定,但对中断响特点:任务级响应时间不确定,但对中断响应快。应快。64同一优先级的时间片轮转调度算法同一优先级的时间片轮转调度算法 就绪队列中存在就绪队列中存在2 2个以上相同优先级任务;个以上相同优先级任务;各任务均执行一段特定的时间片;各任务均执行一段特定的时间片;超时的任务放到就绪队列中。超时的任务放到就绪队列中。单调速率调度算法单调速率调度算法一种优先级确定算法一种优先级确定算法任务的执行频率越高,优先级就越高。任务的执行频率越高,优先级就越高。65目的目的:内存资源的合理分配和存储保护功能。:内存资源的合理分配和存储保护功能。方法方法:大多数嵌入式实时操作系统内核不采用虚拟大多数嵌入式实时操作系统内核不采用虚拟内存管理;内存管理;内存分成若干大小不等的区和块的分配方法。内存分成若干大小不等的区和块的分配方法。实时内核的内存管理实时内核的内存管理66任务间通信任务间通信方式:方式:共享数据结构共享数据结构和和消息机制消息机制共享数据结构的互斥方法:共享数据结构的互斥方法:开开/关中断关中断设置标志位(全局变量)设置标志位(全局变量)信号量(二进制信号量和计数型信号量)信号量(二进制信号量和计数型信号量)消息机制消息机制消息通常是一个指针变量,指向内容为消息。消息通常是一个指针变量,指向内容为消息。邮箱方式邮箱方式消息队列方式(允许存放多个消息)消息队列方式(允许存放多个消息)任务间同步任务间同步:信号量:信号量 信号量:代表某个事件是否发生信号量:代表某个事件是否发生任务间通信与同步任务间通信与同步67内核的定时器管理内核的定时器管理根据系统的实时时钟完成与延时、定时、超根据系统的实时时钟完成与延时、定时、超时等相关的操作。时等相关的操作。中断管理中断管理中断初始化中断初始化现场保存和恢复现场保存和恢复中断嵌套管理等。中断嵌套管理等。定时器管理与中断管理定时器管理与中断管理 68微软公司的一款小规模而又高度可定制的操作微软公司的一款小规模而又高度可定制的操作系统系统19961996年发布年发布Windows CE 1.0Windows CE 1.020042004年年7 7月发布了月发布了Windows CE.NET 5.0Windows CE.NET 5.0。主要应用领域有主要应用领域有:PDAPDA、Pocket PCPocket PC、SmartphoneSmartphone、工业控制、医疗等。工业控制、医疗等。丰富开发工具丰富开发工具:Embedded Visual C+Embedded Visual C+、Embedded Visual BasicEmbedded Visual Basic、Visual Studio.NET Visual Studio.NET 实时性实时性:弱实时:弱实时Windows CEWindows CE69WindRiverWindRiver公司的一种嵌入式实时操作系统公司的一种嵌入式实时操作系统 持续发展能力、高性能的内核以及友好的用户持续发展能力、高性能的内核以及友好的用户开发环境开发环境 应用领域:通信、军事、航空航天等实时性要应用领域:通信、军事、航空航天等实时性要求很高的场合求很高的场合实时性:实时性:强实时强实时 VxWorksVxWorks70标准标准linuxlinux经过裁剪后,能够固化在几百经过裁剪后,能够固化在几百k k或者几或者几MBMB存储芯片中,适用于特定应用场合的专用存储芯片中,适用于特定应用场合的专用linuxlinux操作系统。操作系统。不同实时等级的版本不同实时等级的版本强实时:强实时:RTLinuxRTLinux弱实时:普通弱实时:普通linuxlinux ,ucLinuxucLinux。(。(分时分时,核核心不可抢占)心不可抢占)嵌入式嵌入式linux linux 71 源码开放,软件丰富源码开放,软件丰富 linuxlinux是内核代码完全开放的自由操作系统是内核代码完全开放的自由操作系统LinuxLinux的软件资源十分丰富,其应用软件开的软件资源十分丰富,其应用软件开发一般不需要从头做起,可以找到类似功能发一般不需要从头做起,可以找到类似功能的自由软件为原型,进行二次开发。的自由软件为原型,进行二次开发。嵌入式嵌入式Linux的特点(的特点(1)72 强大的网格功能支持强大的网格功能支持 支持所有标准的支持所有标准的InternetInternet网络协议,并且可网络协议,并且可以很容易的移植到嵌入式系统中。以很容易的移植到嵌入式系统中。完备的工具链完备的工具链 完整的工具链,包括完整的工具链,包括GNUGNU的的gccgcc、gdbgdb、kgdbkgdb、xgdbxgdb等等 。嵌入式嵌入式Linux的特点(的特点(2)73广泛的硬件支持广泛的硬件支持能够支持能够支持x86x86、ARMARM、MIPSMIPS、PowerPCPowerPC等多种等多种体系结构。体系结构。丰富的驱动程序资源,支持各种主流硬件设丰富的驱动程序资源,支持各种主流硬件设备和最新硬件技术。备和最新硬件技术。嵌入式嵌入式Linux的特点(的特点(3)74几种嵌入式几种嵌入式LinuxLinux(1 1)uCLinux:为为支支持持没没有有MMU的的处处理理器器而而对对标标准准Linux作作出的修正出的修正,它不支持它不支持实时实时性。性。没有内存管理单元没有内存管理单元不不支支持持虚虚拟拟内内存存管管理理技技术术,而而是是采采用用实实存存储储管理策略。管理策略。普通嵌入式普通嵌入式LinuxLinux通通过过普普通通LinuxLinux的的裁裁剪剪可可得得到到。支支持持MMUMMU,非非实时性。实时性。75几种嵌入式几种嵌入式LinuxLinux(2 2)RTLinux与与RTAIRTLinux支支持持实实时时性性,它它通通过过在在普普通通Linux内核下层增加一个实时内核实现了实时性。内核下层增加一个实时内核实现了实时性。RTAI(Real-time Appl