1、嵌入式系统原理与技术嵌入式系统原理与技术全册配套课件全册配套课件 嵌入式系统嵌入式系统3主要内容嵌入式系统简介嵌入式系统简介嵌入式处理器嵌入式处理器嵌入式操作系统嵌入式操作系统嵌入式系统的典型应用嵌入式系统的典型应用嵌入式系统的基本设计过程嵌入式系统的基本设计过程4嵌入式系统的应用领域嵌入式应用嵌入式应用信息家电信息家电智能玩具智能玩具军事电子军事电子通信设备通信设备移动存贮移动存贮工控设备工控设备智能仪表智能仪表汽车电子汽车电子网络设备网络设备消费电子消费电子军事国防军事国防电子商务电子商务网络网络工业控制工业控制5goReader Internet eBookSamsung AnyWebI
2、nternet Screen PhoneeRemoteIntelligent Home ControllerTektronix TDS7000 Digital OscilloscopesNixvue Digital AlbumDigital Photo Album一些典型的嵌入式系统应用实例6嵌入式系统的应用n家用方面:数字电视、信息家电、智能玩具、手持通讯、存储设备的核心。7电饭煲电饭煲n日本原装进口日本原装进口TIGER/虎牌虎牌 JAH-T18C 电电饭煲电饭锅饭煲电饭锅 n全球是处于领先的地位,为了追求极致,日本的厂商想尽了一切办法,煮出来的米饭能带来与众不同的感受8智能马桶盖n智能马
3、桶盖起源于美国,日本最初引进并进行改良,于80年代推出全新产品,加入了集便盖加热、温水洗净、暖风干燥、杀菌等多种功能。9嵌入式视频服务器10现代化家庭11嵌入式Internet应用12嵌入式系统在信息家电中的应用n信息家电(Information Appliance)n一般可认为,那些低单价、操作简单、可通过因特网发送或获取信息,将逐步分割或替代PC的某些功能,并能与其它信息产品交换资料或讯息的产品可统称为信息家电。13信息家电的分类及特点n信息家电的分类n网络电视(NetTV)n网上游戏机(Internet gaming device)n智能掌上型设备(Internet smart hand
4、held device)n网络电话(Internet screen Phone)nConsumer NC client等。n信息家电技术特点n处理器发展趋向低成本、高整合性与低耗能。n整合数字与模拟处理的技术。n较PC更强调通讯能力。n利用软件增加产品的差异性(高附加价值的关键)14典型的信息家电产品信息家电定义代表性产品网络电视具有机顶盒或内建网络连接的电视Microsoft WebTV网络可视电话具有集成网络接入的屏幕电话InfoGear iPhone网络游戏机具有集成网络接入的游戏操纵台Sega Dreamcast网络智能手持器件蜂窝电话、个人数据助理(PDA)和其它集成网络接入的便携式
5、器件3Com Palm AT&T PocketNet Phone Nokia 9000,9000I,9110,7110NC委托(clients)提供网络接入以及能下载应用软件的器件IBM NetStationPC-中间器件通过PC接入网络以下载内容的器件DIAMON Multimedia Rio Player Nuvomedia Rocket e-BookAudible Mobile PlayerSource: IDC, Hambrecht & Quist1516信息家电数字机顶盒17汽车电子产品(18个嵌入式控制模块)CAN总线网络VOLVO S80汽车的CAN总线网络嵌入式应用汽车电子18
6、智能玩具与机器人19嵌入式技术应用工业控制n工业方面:机床、冶金、电子、交通、航空航天等行业技术升级的重要基础20阿富汗参加反恐作战的阿富汗参加反恐作战的“赫耳墨斯赫耳墨斯”价值价值4 4万美元,万美元,可携带可携带2 2架摄像机,发挥了架摄像机,发挥了很好作用。很好作用。军事侦察21 2002年11月28日,以色列一选举投票点,发生枪击事件,造成至少7人死亡,数十人受伤。以警方用机器人在检查一具巴勒斯坦枪手的尸体。反恐防暴22微型飞行器微型飞行器-“黑寡妇黑寡妇”空中飞行器23基于Win CE的移动机器人平台24基于RTLinux的仿人机器人 高高 48 cm 48 cm重重: 6 kg:
7、6 kg灵活性:灵活性:20 DOF20 DOF操作系统操作系统: RT-Linux: RT-Linux接口形式接口形式: USB 1.0 (12Mbps): USB 1.0 (12Mbps)响应周期响应周期: 1ms: 1ms能源:能源: DC24V x 6.2A (150W) DC24V x 6.2A (150W)制造:富士通制造:富士通 25基于VXworks的火星探路者262004年“勇气号”再次登陆火星27 嵌入式系统嵌入式系统倪福川倪福川华中农业大学理学院计算机系华中农业大学理学院计算机系28主要内容嵌入式系统简介嵌入式系统简介嵌入式处理器嵌入式处理器嵌入式操作系统嵌入式操作系统嵌
8、入式系统典型应用嵌入式系统典型应用嵌入式系统的基本设计过程嵌入式系统的基本设计过程29嵌入式系统简介n定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统 30n嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物,n它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。 31嵌入式系统组成n嵌入式系统的构架可以分成四个部分:处理器、存储器、输入输出(I/O)和软件(由于多数嵌入式设备的应用软件和操作系统都是紧密结合 )32n嵌入式系统必须根据应用需求对软硬件进行裁剪,满足应用
9、系统的功能、可靠性、成本、体积等要求。n如果能建立相对通用的软硬件基础,然后在其上开发出适应各种需要的系统,是一个比较好的发展模式。 33嵌入式系统简介嵌入式系统简介n微处理器微处理器(Microprocessor Unit, MPU) n微控制器微控制器(Microcontroller Unit, MCU) n嵌入式嵌入式DSP (Embedded Digital Signal Processor, EDSP) n片上系统片上系统(System On Chip) 34嵌入式处理器分类n微处理器微处理器(Microprocessor Unit, MPU) n微控制器微控制器(Microcont
10、roller Unit, MCU) n嵌入式嵌入式DSP (Embedded Digital Signal Processor, EDSP) n片上系统片上系统(System On Chip) 35嵌入式微处理器36n目前主要的嵌入式处理器类型有目前主要的嵌入式处理器类型有Am186/88Am186/88、386EX386EX、SC-400SC-400、PowerPCPowerPC、6800068000、MIPSMIPS、ARM/StrongARMARM/StrongARM系列等系列等嵌入式微处理器37嵌入式微控制器n又称单片机芯片内部集成ROM/EPROM、RAM、总线、总线逻辑、定时/计数
11、器、看门狗、I/O、串行口、脉宽调制输出、A/D、D/A、Flash RAM、EEPROM等各种必要功能和外设。n代表性的通用系列包括8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12 /16、68300等。38嵌入式微控制器n微控制器的最大特点是单片化,体积大大减小,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。从而使功耗和成本下降、可靠性提高。n微控制器是目前嵌入式系统工业的主流。微控制微控制器是目前嵌入式系统工业的主流。微控制器的片上外设资源一般比较丰富,适合于控制,器的片上外设资源一般比较丰富
12、,适合于控制,因此称为微控制器。因此称为微控制器。39嵌入式DSP处理器nDSP处理器是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,在数字滤波、FFT、谱分析等各种仪器上DSP获得了大规模的应用。nDSP处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。40嵌入式DSP处理器n有代表性的产品是Texas Instruments的 TMS320系列和Motorola的DSP56000系列。nMotorola公司的DSP56000已经发展成为DSP56000,DSP56100, DSP56200和DSP56300等几个不同
13、系列的处理器。nPHILIPS公司今年来也推出了基于可重置嵌入式DSP结构低成本、低功耗技术上制造的DSP处理器,特点是具备双Harvard结构和双乘/累加器单元,应用目标是大批量消费类电子产品。41nSoC就是System on Chip,SoC是一种基于IP(Intellectual Property)核嵌入式系统设计技术。它结合了许多功能区块,将功能做在一个芯片上,ARM RISC、MIPS RISC、DSP或是其他的微处理器核心,加上通信的接口单元,例如通用串行端口(USB)、TCP/IP通信单元、GPRS通信接口、GSM通信接口、IEEE1394、蓝牙模块接口等等,这些单元以往都是依
14、照各单元的功能做成一个个独立的处理芯片。嵌入式片上系统(SoC)42SOC体系结构ASIC CoreMemoryEmbedded ProcessorCoreAnalogFunctionsCommunicationSensorInterface43SOC体系结构n在一个硅片上实现一个复杂的系统n各种通用处理器内核将作为标准库,和许多其它嵌入式系统外设一样,成为VLSI设计中一种标准的器件,用标准的VHDL等语言描述,存储在器件库中。n用户只需定义出其整个应用系统,仿真通过后就可以将设计图交给半导体工厂制作样品。大部分均可集成到一块或几块芯片中去,应用系统电路板将变得很简洁,对于减小体积和功耗、提
15、高可靠性非常有利。 44知识产权45主要内容嵌入式系统简介嵌入式系统简介嵌入式处理器嵌入式处理器嵌入式操作系统嵌入式操作系统嵌入式系统的典型应用嵌入式系统的典型应用嵌入式系统的基本设计过程嵌入式系统的基本设计过程46嵌入式系统的应用领域嵌入式应用嵌入式应用信息家电信息家电智能玩具智能玩具军事电子军事电子通信设备通信设备移动存贮移动存贮工控设备工控设备智能仪表智能仪表汽车电子汽车电子网络设备网络设备消费电子消费电子军事国防军事国防电子商务电子商务网络网络工业控制工业控制47goReader Internet eBookSamsung AnyWebInternet Screen PhoneeRem
16、oteIntelligent Home ControllerTektronix TDS7000 Digital OscilloscopesNixvue Digital AlbumDigital Photo Album一些典型的嵌入式系统应用实例48嵌入式系统的应用n家用方面:数字电视、信息家电、智能玩具、手持通讯、存储设备的核心。49嵌入式视频服务器50现代化家庭51嵌入式Internet应用52嵌入式系统在信息家电中的应用n信息家电(Information Appliance)n一般可认为,那些低单价、操作简单、可通过因特网发送或获取信息,将逐步分割或替代PC的某些功能,并能与其它信息产品交
17、换资料或讯息的产品可统称为信息家电。53信息家电的分类及特点n信息家电的分类n网络电视(NetTV)n网上游戏机(Internet gaming device)n智能掌上型设备(Internet smart handheld device)n网络电话(Internet screen Phone)nConsumer NC client等。n信息家电技术特点n处理器发展趋向低成本、高整合性与低耗能。n整合数字与模拟处理的技术。n较PC更强调通讯能力。n利用软件增加产品的差异性(高附加价值的关键)54典型的信息家电产品信息家电定义代表性产品网络电视具有机顶盒或内建网络连接的电视Microsoft W
18、ebTV网络可视电话具有集成网络接入的屏幕电话InfoGear iPhone网络游戏机具有集成网络接入的游戏操纵台Sega Dreamcast网络智能手持器件蜂窝电话、个人数据助理(PDA)和其它集成网络接入的便携式器件3Com Palm AT&T PocketNet Phone Nokia 9000,9000I,9110,7110NC委托(clients)提供网络接入以及能下载应用软件的器件IBM NetStationPC-中间器件通过PC接入网络以下载内容的器件DIAMON Multimedia Rio Player Nuvomedia Rocket e-BookAudible Mobil
19、e PlayerSource: IDC, Hambrecht & Quist5556信息家电数字机顶盒57VOLVO S80汽车的CAN总线网络嵌入式应用汽车电子58智能玩具与机器人59嵌入式技术应用工业控制n工业方面:机床、冶金、电子、交通、航空航天等行业技术升级的重要基础60阿富汗参加反恐作战的阿富汗参加反恐作战的“赫耳墨斯赫耳墨斯”价值价值4 4万美元,万美元,可携带可携带2 2架摄像机,发挥了架摄像机,发挥了很好作用。很好作用。军事侦察61反恐防暴62微型飞行器微型飞行器-“黑寡妇黑寡妇”空中飞行器63基于Win CE的移动机器人平台64基于RTLinux的仿人机器人 高高 48 cm
20、48 cm重重: 6 kg: 6 kg灵活性:灵活性:20 DOF20 DOF操作系统操作系统: RT-Linux: RT-Linux接口形式接口形式: USB 1.0 (12Mbps): USB 1.0 (12Mbps)响应周期响应周期: 1ms: 1ms能源:能源: DC24V x 6.2A (150W)DC24V x 6.2A (150W)制造:富士通制造:富士通 65基于VXworks的火星探路者662004年“勇气号”再次登陆火星671.5 嵌入式操作系统n概述 计算机由硬件和软件两部分组成,操作系统计算机由硬件和软件两部分组成,操作系统OSOS是配置是配置在计算机硬件上的第一层软件
21、。操作系统可解释或理解为补在计算机硬件上的第一层软件。操作系统可解释或理解为补平硬件差异的界面或者说隐藏硬件,让应用程序可以在上面平硬件差异的界面或者说隐藏硬件,让应用程序可以在上面运行。通过由操作系统统一提供出来的系统界面来写应用程运行。通过由操作系统统一提供出来的系统界面来写应用程序,无须考虑不同硬件所造成的差异,让程序设计人员能够序,无须考虑不同硬件所造成的差异,让程序设计人员能够专注于所擅长领域的开发。专注于所擅长领域的开发。 从用户的观点看,从用户的观点看,OSOS是用户与计算机硬件系统之间的是用户与计算机硬件系统之间的接口,用户在接口,用户在OSOS的帮助下能够方便,快捷,安全,可
22、靠地的帮助下能够方便,快捷,安全,可靠地操纵计算机硬件和运行自己的程序;从资源管理的观点看,操纵计算机硬件和运行自己的程序;从资源管理的观点看,可以把可以把OSOS视为计算机系统资源的管理者。视为计算机系统资源的管理者。681.5 嵌入式操作系统n概述监控程序监控程序 在计算机技术发展的初期,为了给用户提供一在计算机技术发展的初期,为了给用户提供一个与计算机的接口,同时提高计算机的资源利用率,个与计算机的接口,同时提高计算机的资源利用率,便出现了计算机监控程序,使用户能通过监控程序便出现了计算机监控程序,使用户能通过监控程序来使用计算机。来使用计算机。 随着计算机技术的发展,计算机系统的硬件,
23、随着计算机技术的发展,计算机系统的硬件,软件资源也又进一步发展形成了操作系统,发展到软件资源也又进一步发展形成了操作系统,发展到现在,广泛使用的有三种操作系统,即多道批处理现在,广泛使用的有三种操作系统,即多道批处理操作系统,分时操作系统以及实时操作系统。操作系统,分时操作系统以及实时操作系统。691.5 嵌入式操作系统n发展监监控控程程序序操操作作系系统统实时操作系统实时操作系统分时操作系统分时操作系统多道批处理操作系统多道批处理操作系统 时时 间间 先先 后后 适用于多个用户共享适用于多个用户共享系统资源系统资源适用于计算中心等较适用于计算中心等较大的计算机系统大的计算机系统适用于嵌入式设
24、备和适用于嵌入式设备和有实时性要求的系统有实时性要求的系统中中701.5 嵌入式操作系统n实时操作系统 实时操作系统,指一个优先级高的任务能够实时操作系统,指一个优先级高的任务能够获得立即的,没有延迟的服务,它不需要等候任获得立即的,没有延迟的服务,它不需要等候任何其他任务,而且在得到何其他任务,而且在得到CPUCPU的使用权后,可一的使用权后,可一直执行到工作结束或者有更高级的进程出现为止。直执行到工作结束或者有更高级的进程出现为止。71n嵌入式操作系统的体系结构图应用程序应用程序文件系统文件系统/图形用户接口图形用户接口应用层应用层OS层层驱动层驱动层驱动程序、硬件抽象层、板级支持包驱动程
25、序、硬件抽象层、板级支持包硬件硬件基本模块基本模块内存管理内存管理 文件管理文件管理OS核核进程调度进程调度扩展模块扩展模块网络模块网络模块 图形驱动图形驱动数据库数据库模块模块721.5 嵌入式操作系统n基本概念对基于芯片的开发来说,应用程序对基于芯片的开发来说,应用程序一般是一个无限的循环,可称为前后台一般是一个无限的循环,可称为前后台系统或超循环系统。循环中调用相应的系统或超循环系统。循环中调用相应的函数完成相应的操作,这部分可以看成函数完成相应的操作,这部分可以看成后台行为。中断服务程序处理异步事件,后台行为。中断服务程序处理异步事件,这部分可以看成前台行为。这部分可以看成前台行为。
26、前后台系统前后台系统73 基本概念基本概念 中断服务中断服务程序处理异步程序处理异步事件,这部分事件,这部分可以看成可以看成前台前台行为行为,前台也,前台也叫中断级。时叫中断级。时间相关性很强间相关性很强的关键操作一的关键操作一定是靠中断服定是靠中断服务程序来保证务程序来保证的。的。 循环中调循环中调用相应的函数用相应的函数完成相应的操完成相应的操作,这部分可作,这部分可以看成以看成后台行后台行为为,后台也可,后台也可以叫做任务级。以叫做任务级。这种系统在处这种系统在处理的及时性上理的及时性上比实际可以做比实际可以做到的要差。到的要差。 ISRISRISRISR后台后台前台前台中断服务程序中断
27、服务程序时时间间前后台系统前后台系统741.5 嵌入式操作系统n基本概念代码的临界区也称为临界区,指处理时不代码的临界区也称为临界区,指处理时不可分割的代码,运行这些代码不允许被打断。可分割的代码,运行这些代码不允许被打断。一旦这部分代码开始执行,则不允许任何中断一旦这部分代码开始执行,则不允许任何中断打入(这不是绝对的,如果中断不调用任何包打入(这不是绝对的,如果中断不调用任何包含临界区的代码,也不访问任何临界区使用的含临界区的代码,也不访问任何临界区使用的共享资源,这个中断可能可以执行)。共享资源,这个中断可能可以执行)。 为确保临界区代码的执行,在进入临界区为确保临界区代码的执行,在进入
28、临界区之前要关中断,而临界区代码执行完成以后要之前要关中断,而临界区代码执行完成以后要立即开中断。立即开中断。 代码的临界区代码的临界区751.5 嵌入式操作系统n基本概念程序运行时可使用的软、硬件程序运行时可使用的软、硬件环境统称为资源。资源可以是输入环境统称为资源。资源可以是输入输出设备,例如打印机、键盘、显输出设备,例如打印机、键盘、显示器。资源也可以是一个变量、一示器。资源也可以是一个变量、一个结构或一个数组等。个结构或一个数组等。资源资源76任务任务A共享资源共享资源任务任务B任务任务C信号量信号量1.5 嵌入式操作系统n基本概念可以被一个以上任务使用的资源叫做可以被一个以上任务使用
29、的资源叫做共享共享资源资源。为了防止数据被破坏,每个任务在与共。为了防止数据被破坏,每个任务在与共享资源打交道时,必须独占该资源,这叫做互享资源打交道时,必须独占该资源,这叫做互斥。斥。共享资源共享资源访问共享资源之访问共享资源之前申请信号量前申请信号量其它任务访问受阻其它任务访问受阻而不能使用共享资源而不能使用共享资源得到允许后,才得到允许后,才能使用共享资源能使用共享资源771.5 嵌入式操作系统n基本概念一个任务,也称作一个线程,是一一个任务,也称作一个线程,是一个简单的程序,该程序可以认为个简单的程序,该程序可以认为CPU完完全属于该程序自己。每个任务都是整个全属于该程序自己。每个任务
30、都是整个应用的某一部分,每个任务被赋予一定应用的某一部分,每个任务被赋予一定的优先级,有它自己的一套的优先级,有它自己的一套CPU寄存器寄存器和自己的栈空间。和自己的栈空间。任务任务781.5 嵌入式操作系统n基本概念当多任务内核决定运行另外的任务时,它当多任务内核决定运行另外的任务时,它保存正在运行任务的当前状态,即保存正在运行任务的当前状态,即CPU寄存器寄存器中的全部内容。这些内容保存在任务的当前状中的全部内容。这些内容保存在任务的当前状态保存区,也就是任务自已的栈区之中。入栈态保存区,也就是任务自已的栈区之中。入栈工作完成以后,就把下一个将要运行的任务的工作完成以后,就把下一个将要运行
31、的任务的当前状态从任务的栈中重新装入当前状态从任务的栈中重新装入CPU的寄予存的寄予存器,并开始下一个任务的运行。这个过程就称器,并开始下一个任务的运行。这个过程就称为为任务切换任务切换。任务切换任务切换791.5 嵌入式操作系统n基本概念多任务系统中,内核负责管理各个多任务系统中,内核负责管理各个任务,或者说为每个任务分配任务,或者说为每个任务分配CPU时间,时间,并且负责任务之间的通信。内核提供的并且负责任务之间的通信。内核提供的基本服务是任务切换。基本服务是任务切换。 内核提供必不可少的系统服务,如内核提供必不可少的系统服务,如信号量、消息队列、延时等。信号量、消息队列、延时等。内核内核
32、801.5 嵌入式操作系统n基本概念调度是内核的主要职责之一。调度是内核的主要职责之一。调度就是决调度就是决定该轮到哪个任务运行。定该轮到哪个任务运行。多数实时内核是基于多数实时内核是基于优先级调度法的。每个任务根据其重要程序的优先级调度法的。每个任务根据其重要程序的不同被赋予一定的优先级。基于优先级的调度不同被赋予一定的优先级。基于优先级的调度法指法指CPU总是让处在就绪态的优先级最高的任总是让处在就绪态的优先级最高的任务先运行。务先运行。 然而究竟何时让高优先级任务掌握然而究竟何时让高优先级任务掌握CPU的的使用权,有两种不同的情况,这要看用的是什使用权,有两种不同的情况,这要看用的是什么
33、类型的内核,是非占先式的还是抢占式的内么类型的内核,是非占先式的还是抢占式的内核。核。 调度调度811.5 嵌入式操作系统n基本概念非占先式内核要求每个任务自我放弃非占先式内核要求每个任务自我放弃CPU 的所有权。非占先式调度法也称作合作型多任的所有权。非占先式调度法也称作合作型多任务,各个任务彼此合作共享一个务,各个任务彼此合作共享一个CPU。 异步事件还是由中断服务来处理。中断服异步事件还是由中断服务来处理。中断服务可以使一个高优先级的任务由挂起状态变为务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任
34、务,直到该任务主动放弃来被中断了的那个任务,直到该任务主动放弃CPU的使用权时,那个高优先级的任务才能获的使用权时,那个高优先级的任务才能获得得CPU的使用权。的使用权。非抢占式内核非抢占式内核821.5 嵌入式操作系统n基本概念当系统响应时间很重要时,要使用抢占式当系统响应时间很重要时,要使用抢占式内核。最高优先级的任务一旦就绪,总能得到内核。最高优先级的任务一旦就绪,总能得到CPU的控制权。当一个运行着的任务使一个比的控制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪状态,当前任务它优先级高的任务进入了就绪状态,当前任务的的CPU使用权就被剥夺了,或者说被挂起了,使用权就被剥夺了
35、,或者说被挂起了,那个高优先级的任务立刻得到了那个高优先级的任务立刻得到了CPU的控制权。的控制权。如果是中断服务子程序使一个高优先级的任务如果是中断服务子程序使一个高优先级的任务进入就绪态,中断完成时,中断了的任务被挂进入就绪态,中断完成时,中断了的任务被挂起,优先级高的那个任务开始运行。起,优先级高的那个任务开始运行。可抢占式内核可抢占式内核831.5 嵌入式操作系统n基本概念任务的优先级是表示任务被调度的任务的优先级是表示任务被调度的优先程度。每个任务都具有优先级。任优先程度。每个任务都具有优先级。任务越重要,赋予的优先级应越高,越容务越重要,赋予的优先级应越高,越容易被调度而进入运行态
36、。易被调度而进入运行态。 任务优先级任务优先级841.5 嵌入式操作系统n基本概念中断是一种硬件机制,用于通知中断是一种硬件机制,用于通知CPU有异步事件发有异步事件发生。中断一旦被识别,生。中断一旦被识别,CPU保存部分(或全部)上下文保存部分(或全部)上下文即部分或全部寄存器的值,跳转到专门的子程序,称为即部分或全部寄存器的值,跳转到专门的子程序,称为中断服务子程序(中断服务子程序(ISR)。中断服务子程序做事件处理,)。中断服务子程序做事件处理,处理完成后,程序回到:处理完成后,程序回到:1. 在前后台系统中,程序回到后台程序;在前后台系统中,程序回到后台程序;2. 对非抢占式内核而言,
37、程序回到被中断了的任务;对非抢占式内核而言,程序回到被中断了的任务;3. 对抢占式内核而言,让进入就绪态的优先级最高对抢占式内核而言,让进入就绪态的优先级最高的任务开始运行。的任务开始运行。中断中断85前后台系统前后台系统1.5 嵌入式操作系统n基本概念中断中断ISR任务任务ISR非占先操作系统非占先操作系统任务任务A任务任务B任务任务CISR占先操作系统占先操作系统任务任务A任务任务B任务任务C861.5 嵌入式操作系统n基本概念时钟节拍是特定的周期性中断。这个中断时钟节拍是特定的周期性中断。这个中断可以看作是系统心脏的脉动。中断之间的时间可以看作是系统心脏的脉动。中断之间的时间间隔取决于不
38、同应用,一般在间隔取决于不同应用,一般在10ms到到200ms之之间。间。 时钟的节拍式中断使得内核可以将任务延时钟的节拍式中断使得内核可以将任务延时若干个整数时钟节拍,以及当任务等待事件时若干个整数时钟节拍,以及当任务等待事件发生时,提供等待超时的依据。时钟节拍率越发生时,提供等待超时的依据。时钟节拍率越快,系统的额外开销就越大。快,系统的额外开销就越大。时钟节拍时钟节拍871.5 嵌入式操作系统n基本概念所有嵌入式操作系统都是多任务的。目前所说的多任所有嵌入式操作系统都是多任务的。目前所说的多任务大都是多线程方式或多进程方式。和一般的操作系统一务大都是多线程方式或多进程方式。和一般的操作系
39、统一样,嵌入式操作系统的作用也是决定在特定的某一时刻系样,嵌入式操作系统的作用也是决定在特定的某一时刻系统应该运行哪一个进程。现在许多统应该运行哪一个进程。现在许多CPU都已提供多组寄存都已提供多组寄存器来辅助执行模式的切换,有比较便捷的指令来纪录每个器来辅助执行模式的切换,有比较便捷的指令来纪录每个执行程序的情况,操作系统主要是提供调度机制来控制这执行程序的情况,操作系统主要是提供调度机制来控制这些执行程序的起始,执行,暂停和结束。些执行程序的起始,执行,暂停和结束。多任务管理多任务管理881.5 嵌入式操作系统n基本概念嵌入式操作系统中的进程状态有嵌入式操作系统中的进程状态有3种:运行状种
40、:运行状态,就绪状态,等待状态。态,就绪状态,等待状态。3种状态之间的关系如种状态之间的关系如图,其中进程状态转换的条件与一般操作系统中图,其中进程状态转换的条件与一般操作系统中转换条件类似。转换条件类似。多任务管理多任务管理运行运行就绪就绪等待等待新进程新进程结束结束891.5 嵌入式操作系统n基本概念存储管理存储管理 与一般操作系统的存储管理相比,嵌入式操作系统与一般操作系统的存储管理相比,嵌入式操作系统的存储管理要相对简单一些。由于虚拟存储中经常要对的存储管理要相对简单一些。由于虚拟存储中经常要对页进行换入页进行换入/换出操作,所以换出操作,所以内存中页命中率和换入内存中页命中率和换入/
41、换换出所耗费的时间严重破坏了整个系统的确定性出所耗费的时间严重破坏了整个系统的确定性,而且虚,而且虚拟系统中需要地址转换表和其他一些数据结构,这样留拟系统中需要地址转换表和其他一些数据结构,这样留给程序的内存空间就减少了。总之,虚拟内存管理占用给程序的内存空间就减少了。总之,虚拟内存管理占用了相当一部分系统资源,因此在系统资源非常有限的嵌了相当一部分系统资源,因此在系统资源非常有限的嵌入式系统中,一般不采用虚拟内存管理,而采用入式系统中,一般不采用虚拟内存管理,而采用动态内动态内存管理方式存管理方式,即当程序的某一部分需要使用内存时,利,即当程序的某一部分需要使用内存时,利用操作系统提供的分配
42、函数来处理,一旦使用完毕,可用操作系统提供的分配函数来处理,一旦使用完毕,可通过释放函数来释放所占用的内存,这样内存可以重复通过释放函数来释放所占用的内存,这样内存可以重复使用。使用。901.5 嵌入式操作系统n实时操作系统的优缺点:程序的设计和扩展变得容易。对实时性:程序的设计和扩展变得容易。对实时性要求苛刻的事件都得到了快速、可靠的处理。要求苛刻的事件都得到了快速、可靠的处理。通过有效的系统服务,嵌入式实时操作系统使通过有效的系统服务,嵌入式实时操作系统使得系统资源得到更好的利用。得系统资源得到更好的利用。:但是,使用嵌入式实时操作系统还需要:但是,使用嵌入式实时操作系统还需要额外的额外的
43、ROM/RAM开销,开销,25%的的CPU额外负荷,额外负荷,以及内核的费用。以及内核的费用。 91 uClinux是一个完全符合是一个完全符合GNU/GPL公约的操作系公约的操作系统,完全开放代码。统,完全开放代码。uClinux从从Linux 2.0/2.4内核派生内核派生而来,沿袭了主流而来,沿袭了主流Linux的绝大部分特性。它是专门针的绝大部分特性。它是专门针对没有对没有MMU的的CPU,并且为嵌入式系统做了许多小,并且为嵌入式系统做了许多小型化的工作。适用于没有虚拟内存或内存管理单元型化的工作。适用于没有虚拟内存或内存管理单元(MMU)的处理器,例如的处理器,例如ARM7TDMI。
44、它通常用于具。它通常用于具有很少内存或有很少内存或Flash的嵌入式系统。它保留了的嵌入式系统。它保留了Linux的的大部分优点:大部分优点:。 1.5 嵌入式操作系统n常见的嵌入式操作系统 uCLinux921.5 嵌入式操作系统n常见的嵌入式操作系统 是微软开发的一个开放的、是微软开发的一个开放的、可升级的可升级的32位嵌入式操作系统,是基于掌上型位嵌入式操作系统,是基于掌上型电脑类的电子设备操作。电脑类的电子设备操作。Win CE具有模块化、具有模块化、结构化和基于结构化和基于Win32应用程序接口以及与处理应用程序接口以及与处理器无关等特点,出色的图形用户界面。在器无关等特点,出色的图
45、形用户界面。在Win CE平台上可以使用平台上可以使用Windows 2K/XP上的编程上的编程工具(如工具(如Visual Basic、Visual C+等)、等)、 Win CE931.5 嵌入式操作系统n常见的嵌入式操作系统VxWorks VxWorks操作系统是美国操作系统是美国 公司于公司于1983年设计开发的一种嵌入式实时操作年设计开发的一种嵌入式实时操作系统(系统(RTOS),是嵌入式开发环境的关键组),是嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作以及友好的用户开发环境,在嵌入式实
46、时操作系统领域占据一席之地。它以其良好的可靠性系统领域占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的航空、航天等高精尖技术及实时性要求极高的领域中。领域中。941.5 嵌入式操作系统n常见的嵌入式操作系统 主要是由主要是由ENEA Data AB 下属的下属的ENEA OSE Systems AB负责开发和技术服务的,负责开发和技术服务的,一直以来都充当着实时操作系统以及分布式和一直以来都充当着实时操作系统以及分布式和容错性应用的先锋,并保持良好的发展态势。容错性应用的先锋,并保持良好的发
47、展态势。 的客户深入到电信,数据,工控,航的客户深入到电信,数据,工控,航空等领域,尤其在电信方面,该公司已经有了空等领域,尤其在电信方面,该公司已经有了十余年的开发经验,同诸如爱立信,诺基亚,十余年的开发经验,同诸如爱立信,诺基亚,西门子等知名公司确定了良好的关系。西门子等知名公司确定了良好的关系。 OSE951.5 嵌入式操作系统n常见的嵌入式操作系统 是为实时嵌入式应用而设计是为实时嵌入式应用而设计的一个抢先式多任务操作系统内核,其的一个抢先式多任务操作系统内核,其95的的代码是用代码是用ANSIC写成的,因此非常便于移植并写成的,因此非常便于移植并能够支持大多数类型的处理器。能够支持大
48、多数类型的处理器。 采用了软件组件的方法。每采用了软件组件的方法。每个组件具有单一而明确的目的,通常由几个个组件具有单一而明确的目的,通常由几个C及汇编语言模块构成,提供清晰的外部接口,及汇编语言模块构成,提供清晰的外部接口,对组件的引用就是通过这些接口完成的。由于对组件的引用就是通过这些接口完成的。由于采用了软件组件的方法,使采用了软件组件的方法,使Nucleus PLUS 的的各个组件非常易于替换和复用。各个组件非常易于替换和复用。Nucleus961.5 嵌入式操作系统n常见的嵌入式操作系统 是是RedHat公司开发的源代码开放的公司开发的源代码开放的嵌入式嵌入式RTOS产品,是一个可配
49、置、可移植的产品,是一个可配置、可移植的嵌入式实时操作系统,设计的运行环境为嵌入式实时操作系统,设计的运行环境为RedHat的的GNUPro和和GNU开发环境。开发环境。 eCOS的关键技术是操作系统可配置性,的关键技术是操作系统可配置性,允许用户组和自己的实时组件和函数以及实现允许用户组和自己的实时组件和函数以及实现方式,特别允许方式,特别允许eCOS的开发则定制自己的面的开发则定制自己的面向应用的操作系统,使向应用的操作系统,使eCos能有更广泛的应用能有更广泛的应用范围。范围。eCos971.5 嵌入式操作系统n常见的嵌入式操作系统 C/OS-II是一个源码公开、可移植、可固是一个源码公
50、开、可移植、可固化、可裁剪、占先式的实时多任务操作系统。化、可裁剪、占先式的实时多任务操作系统。其绝大部分源码是用其绝大部分源码是用ANSI C写的,使其可以写的,使其可以方便的移植并支持大多数类型的处理器。方便的移植并支持大多数类型的处理器。 C/OS-II通过了联邦航空局(通过了联邦航空局(FAA)商用航行)商用航行器认证。器认证。C/OS-II占用很少的系统资源,并且占用很少的系统资源,并且在高校教学使用是不需要申请许可证。在高校教学使用是不需要申请许可证。C/OS-II981.5 嵌入式操作系统n常见的嵌入式操作系统 TRON是指是指“实时操作系统内核(实时操作系统内核(The Rea