第十课-嵌入式操作系统概述课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第十课-嵌入式操作系统概述课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第十 嵌入式 操作系统 概述 课件
- 资源描述:
-
1、 CPUCPU与外设的数据传输方式通常有以下几种:与外设的数据传输方式通常有以下几种:查询方式:查询方式:CPUCPU不断的查询外设状态,如果外设准备就绪就开始传输数据,如果外不断的查询外设状态,如果外设准备就绪就开始传输数据,如果外设还没有准备好,就进入循环等待设还没有准备好,就进入循环等待 中断方式:中断方式:当外设准备好与当外设准备好与CPUCPU进行数据交换时,首先向进行数据交换时,首先向CPUCPU提出中断请求,提出中断请求,CPUCPU在在接到中断请求并在一定条件下,暂停原来的程序,并执行中断服务程序,接到中断请求并在一定条件下,暂停原来的程序,并执行中断服务程序,执行完后再次返回
2、源程序的过程执行完后再次返回源程序的过程 DMA DMA方式:方式:不经过不经过CPUCPU而直接进行数据交换的过程而直接进行数据交换的过程中断概述中断法的引入,极大的提高了中断法的引入,极大的提高了CPUCPU的利用效率的利用效率 ARM920TARM920T内核有两个中断内核有两个中断IRQIRQ中断和中断和FIQFIQ中断中断 IRQIRQ是普通中断用于处理一般事件,是普通中断用于处理一般事件,FIQFIQ是快速中断,是快速中断,一般用于大批量数据传送等情况一般用于大批量数据传送等情况 S3C2440S3C2440中断控制器有中断控制器有6060个中断源个中断源 对外提供对外提供2424
3、个外中断输入引脚,内部所有设备都有个外中断输入引脚,内部所有设备都有中断请求信号,例如中断请求信号,例如DMADMA控制器、控制器、UARTUART、IICIIC等等等等中断概述中断异常基本概念中断异常基本概念中断异常基本概念中断异常基本概念ARMARM的异常中断的异常中断n复位复位(reset):(reset):当处理器的复位引脚有效时,系统产生复位当处理器的复位引脚有效时,系统产生复位中断,程序跳到中断处理程序处执行。中断,程序跳到中断处理程序处执行。复位中断发生的情况复位中断发生的情况:n系统加电时系统加电时n系统复位时系统复位时n跳转到复位中断向量处跳转到复位中断向量处(0 x0000
4、0000)(0 x00000000)n未定义指令未定义指令(undefined instruction):(undefined instruction):当当ARMARM处理器或者处理器或者是系统中的协处理器认为当前指令未定义时,产生未定义是系统中的协处理器认为当前指令未定义时,产生未定义的指令异常处理。的指令异常处理。n软件中断软件中断(software interrupt):(software interrupt):有用户定义的中断指令,有用户定义的中断指令,在实时操作系统中可以通过该机制实现系统功能的调用。在实时操作系统中可以通过该机制实现系统功能的调用。ARM的异常中断n指令预取中止指
5、令预取中止(prefech abort):(prefech abort):如果处理器预取的指令的地如果处理器预取的指令的地址不存在,或者该地址不允许当前指令访问,处理器产生指址不存在,或者该地址不允许当前指令访问,处理器产生指令预取中止异常处理。令预取中止异常处理。n数据访问中止数据访问中止(data Abort):(data Abort):如果数据访问指令的目标地址如果数据访问指令的目标地址不存在,或者该地址不允许当前指令访问,处理器产生数据不存在,或者该地址不允许当前指令访问,处理器产生数据访问中止异常处理。访问中止异常处理。n外部中断请求外部中断请求(IRQ):(IRQ):当处理器的外部
6、中断请求引脚有效,而当处理器的外部中断请求引脚有效,而且且CPSRCPSR寄存器的寄存器的I I控制位被清除时,处理器产生外部中断请控制位被清除时,处理器产生外部中断请求求(IRQ)(IRQ)异常处理。异常处理。n快速中断请求快速中断请求(FIQ):(FIQ):当处理器的外部快速中断请求引脚有效,当处理器的外部快速中断请求引脚有效,而且而且CPSRCPSR寄存器的寄存器的F F控制位被清除时,处理器产生快速中断控制位被清除时,处理器产生快速中断请求请求(FIQ)(FIQ)异常处理。异常处理。ARMARM处理器对异常中断的响应过程处理器对异常中断的响应过程n进入异常中断的过程进入异常中断的过程(
7、由内核自动完成由内核自动完成)n保存保存PCPC4 4值到新的异常模式的值到新的异常模式的LrLr中,以便处理完异常后,中,以便处理完异常后,能正确返回原程序。能正确返回原程序。n保存保存CPSRCPSR到新的异常模式的到新的异常模式的SPSRSPSR中。中。n强制改变强制改变Mode bitsMode bits,使,使ARMARM进入相应的运行模式。进入相应的运行模式。n强制强制PCPC值,设置成该异常模式的向量地址,从而跳转到相应值,设置成该异常模式的向量地址,从而跳转到相应的异常处理程序处执行程序。的异常处理程序处执行程序。n设置设置CPSRCPSR中的中断禁止位,以禁止中断发生。中的中
8、断禁止位,以禁止中断发生。n从异常中断返回的过程从异常中断返回的过程(由内核自动完成由内核自动完成)n由链接寄存器由链接寄存器LRLR的值恢复的值恢复PCPC,返回到发生异常中断的指令的,返回到发生异常中断的指令的下一条指令处执行程序。下一条指令处执行程序。n从从SPSRSPSR恢复恢复CPSRCPSR。n清除中断屏蔽位。清除中断屏蔽位。注注:当一个异常发生时当一个异常发生时,ARM,ARM处理器总是切换到处理器总是切换到ARMARM状态状态(即非即非ThumbThumb状态状态).).一、进入异常一、进入异常 当发生异常时,除了复位异常立即中止当前指令当发生异常时,除了复位异常立即中止当前指
9、令外,处理器尽量完成当前指令,然后脱离当前的程序外,处理器尽量完成当前指令,然后脱离当前的程序去处理异常。去处理异常。ARMARM处理器对异常中断的响应过程如下处理器对异常中断的响应过程如下 :1 1、保存返回地址、保存返回地址 将引起异常指令的下一条指令的地址保存到新的将引起异常指令的下一条指令的地址保存到新的异常模式异常模式x x下的下的R14R14,即,即R14R14_ _中,使异常处理程中,使异常处理程序执行完后能正确返回原程序。序执行完后能正确返回原程序。2 2、保存当前状态寄存器、保存当前状态寄存器CPSRCPSR的内容的内容 将将CPSRCPSR的内容保存到将要执行的异常中断对应
10、的的内容保存到将要执行的异常中断对应的SPSRSPSR中,便于中断返回时恢复处理器当前的状态位、中,便于中断返回时恢复处理器当前的状态位、中断屏蔽位以及各条件标志位。中断屏蔽位以及各条件标志位。3 3、设置当前状态寄存器、设置当前状态寄存器CPSRCPSR中的相应位中的相应位设置设置CPSRCPSR模式控制位模式控制位CPSRCPSR4 4:0 0,使处理器进入相应的,使处理器进入相应的执行模式;执行模式;设置中断标志位(设置中断标志位(CPSRCPSR6 6=1=1),禁止),禁止IRQIRQ中断;中断;设置中断标志位(设置中断标志位(CPSRCPSR7 7=1=1)禁止)禁止FIQFIQ中
11、断,当进入中断,当进入ResetReset或或FIQFIQ模式时。模式时。4 4、转去执行中断处理程序、转去执行中断处理程序 取相应的中断向量给程序计数器取相应的中断向量给程序计数器PCPC,使程序开始执行,使程序开始执行中断处理程序。中断处理程序。一般地说,矢量地址处将包含一条指向相应程序的转一般地说,矢量地址处将包含一条指向相应程序的转移指令,从而可跳转到相应的异常中断处理程序处执行异移指令,从而可跳转到相应的异常中断处理程序处执行异常中断处理程序常中断处理程序 。ARMARM处理器对异常的响应过程可以用处理器对异常的响应过程可以用伪代码描述如下伪代码描述如下 :R14_=return l
12、ink R14_=return link SPSR_=CPSRSPSR_=CPSR CPSR CPSR4 4:0 0=exception mode number=exception mode number CPSR CPSR5 5=0 =0 /*当运行于当运行于ARMARM状态时状态时*/CPSR CPSR6 6=1 =1 /*禁止新的禁止新的IRQIRQ中断中断*/if =Reset or FIQ thenif =Reset or FIQ then CPSR CPSR7 7=1 =1 /*当当Reset Reset 或或FIQFIQ异常中断时异常中断时*/*禁止新禁止新 的的FIQFIQ中断
13、中断*/PC=exception vector address PC=exception vector address 注意使用异常模式下的特有寄存器注意使用异常模式下的特有寄存器F 每个异常模式对应有两个寄存器每个异常模式对应有两个寄存器R13_R13_、R14_R14_分别保存相应模分别保存相应模式下的堆栈指针、返回地址;堆栈指针可式下的堆栈指针、返回地址;堆栈指针可用来定义一个存储区域保存其它用户寄存用来定义一个存储区域保存其它用户寄存器,在程序初始化时应该对各种模式堆栈器,在程序初始化时应该对各种模式堆栈设置,便于随时使用。设置,便于随时使用。F FIQFIQ模式还有额外的专用寄存器模
14、式还有额外的专用寄存器R8_fiqR8_fiqR12_fiqR12_fiq,使用这些寄存器可以,使用这些寄存器可以加快快速中断的处理速度。加快快速中断的处理速度。二、异常返回二、异常返回 异常返回应执行的操作异常返回应执行的操作异常处理完毕之后,异常处理完毕之后,ARMARM微处理器会执行以下几步操作从异常返回:微处理器会执行以下几步操作从异常返回:n将返回地址装入将返回地址装入PCPC:把连接寄存器把连接寄存器LRLR的值减去相应的偏移量,然后送到的值减去相应的偏移量,然后送到PCPC中。中。n恢复恢复CPSRCPSR的值的值:将将SPSRSPSR复制回复制回CPSRCPSR中。中。n清除中
15、断屏蔽位清除中断屏蔽位:若在进入异常处理时设置了中断禁止位,要在此清除。若在进入异常处理时设置了中断禁止位,要在此清除。可以认为应用程序总是从复位异常处理程序开始执行的,因此复位可以认为应用程序总是从复位异常处理程序开始执行的,因此复位异常处理程序不需要返回。异常处理程序不需要返回。嵌入式操作系统嵌入式操作系统本章主要内容:本章主要内容:(1)嵌入式操作系统概述嵌入式操作系统概述(2)嵌入式操作系统的功能嵌入式操作系统的功能(3)几种主要的嵌入式操作系统几种主要的嵌入式操作系统嵌入式操作系统概述嵌入式操作系统概述嵌入式操作系统是一种用于支持嵌入式应嵌入式操作系统是一种用于支持嵌入式应用程序的操
16、作系统。它是一个界于应用程用程序的操作系统。它是一个界于应用程序和嵌入式计算机系统的硬件之间的程序序和嵌入式计算机系统的硬件之间的程序集合,其任务是控制和管理嵌入式系统中集合,其任务是控制和管理嵌入式系统中的硬件和软件资源,以方便系统使用者。的硬件和软件资源,以方便系统使用者。为什么要使用嵌入式操作系统为什么要使用嵌入式操作系统并不是所有的嵌入式系统上面都需要有一个嵌并不是所有的嵌入式系统上面都需要有一个嵌入式操作系统。一些本身功能很简单的嵌入式入式操作系统。一些本身功能很简单的嵌入式系统出于效率和成本的考虑,常不使用嵌入式系统出于效率和成本的考虑,常不使用嵌入式操作系统。但当一个嵌入式系统的
17、复杂程度达操作系统。但当一个嵌入式系统的复杂程度达到一定的水平,其硬件又具备充足的处理能力到一定的水平,其硬件又具备充足的处理能力的时候,就需要使用嵌入式操作系统。一般说的时候,就需要使用嵌入式操作系统。一般说来当一个嵌入式系统有以下一些需求的时候就来当一个嵌入式系统有以下一些需求的时候就要用到嵌入式操作系统。要用到嵌入式操作系统。1.系统需要运行多个任务系统需要运行多个任务随着应用的发展,嵌入式系统需要运行的任务随着应用的发展,嵌入式系统需要运行的任务变得越来越复杂,这时便需要引入操作系统的变得越来越复杂,这时便需要引入操作系统的概念。操作系统可以给系统中的任务提供调度概念。操作系统可以给系
18、统中的任务提供调度机制,使用实时调度算法完成任务调度。操作机制,使用实时调度算法完成任务调度。操作系统还提供内存管理接口,用以简化任务中需系统还提供内存管理接口,用以简化任务中需要的操作。在使用操作系统之后,可以方便地要的操作。在使用操作系统之后,可以方便地定制任务,并与操作系统一起下载到系统中。定制任务,并与操作系统一起下载到系统中。如果用户的需求发生了变化,只需要改变任务如果用户的需求发生了变化,只需要改变任务内容,然后重新和操作系统一起下载即可。内容,然后重新和操作系统一起下载即可。2.系统需要有直观的用户界面系统需要有直观的用户界面一些嵌入式系统并不是在启动之后就默默地一些嵌入式系统并
19、不是在启动之后就默默地去运行,它们也需要同用户进行交互。最好去运行,它们也需要同用户进行交互。最好是能通过图形式的用户界面进行这种交互。是能通过图形式的用户界面进行这种交互。这就要用到图形界面系统。而图形界面系统这就要用到图形界面系统。而图形界面系统是离不开操作系统支持的。是离不开操作系统支持的。3.系统需要有网络功能系统需要有网络功能在没有操作系统的情况下,支持网络功能在没有操作系统的情况下,支持网络功能并不是不可能的事情。比如并不是不可能的事情。比如TCP/IP协议就协议就可以用硬件芯片来实现。但使用这样的芯可以用硬件芯片来实现。但使用这样的芯片会使成本增加,并且网络协议常会不断片会使成本
20、增加,并且网络协议常会不断升级,用硬件芯片则无法同步地升级。而升级,用硬件芯片则无法同步地升级。而在有操作系统的嵌入式计算机系统中,则在有操作系统的嵌入式计算机系统中,则可以根据需要定制网络协议,适应各种网可以根据需要定制网络协议,适应各种网络环境的需求,也便于跟上网络协议更新络环境的需求,也便于跟上网络协议更新的步伐。的步伐。4.系统需要用到数据库管理系统系统需要用到数据库管理系统一些移动信息设备需要使用嵌入式数据库一些移动信息设备需要使用嵌入式数据库管理系统解决移动计算环境下的数据管理管理系统解决移动计算环境下的数据管理问题。比如掌上计算机、问题。比如掌上计算机、PDA、车载设备、车载设备
21、、智能手机等一些嵌入式系统就经常有此类智能手机等一些嵌入式系统就经常有此类需求。而嵌入式数据库管理系统则不能离需求。而嵌入式数据库管理系统则不能离开操作系统的支持。开操作系统的支持。5.系统需要不断地进行升级和系统需要不断地进行升级和进行二次开发进行二次开发如果要进行某些二次开发工作,那么使用嵌如果要进行某些二次开发工作,那么使用嵌入式操作系统是一个明智的选择。嵌入式操入式操作系统是一个明智的选择。嵌入式操作系统都提供了一系列供二次开发人员使用作系统都提供了一系列供二次开发人员使用的的API接口。在这些接口之上进行开发,可接口。在这些接口之上进行开发,可以免去很多繁琐的底层开发工作,这不仅可以
22、免去很多繁琐的底层开发工作,这不仅可以大大提高嵌入式系统的开发效率。而且也以大大提高嵌入式系统的开发效率。而且也提高了嵌入式应用软件的可移植性。提高了嵌入式应用软件的可移植性。嵌入式操作系统与实时操作系统嵌入式操作系统与实时操作系统早期的嵌入式系统几乎都用于控制目的,早期的嵌入式系统几乎都用于控制目的,因此或多或少都有些实时要求。所以在那因此或多或少都有些实时要求。所以在那时时“嵌入式操作系统嵌入式操作系统”实际上就是实际上就是“实时实时操作系统(操作系统(RTOS)”的代名词。近几年的代名词。近几年来,由于掌上计算机这类设备的出现,有来,由于掌上计算机这类设备的出现,有了许多没有实时要求的嵌
23、入式系统。在这了许多没有实时要求的嵌入式系统。在这样的背景下,样的背景下,“嵌入式操作系统嵌入式操作系统”和和“实实时操作系统时操作系统”就成了不同的概念。就成了不同的概念。实时系统实时系统一个实时系统是能满足以下的要求的系统:一个实时系统是能满足以下的要求的系统:当外部事件到来时,计算机能立即进行处理,当外部事件到来时,计算机能立即进行处理,使得在指定的时间内能完成对事件的处理。使得在指定的时间内能完成对事件的处理。而且外部事件到来的时间完全是随机的,没而且外部事件到来的时间完全是随机的,没有什么周期性的规律。有什么周期性的规律。实时操作系统实时操作系统实时操作系统是具有实时性,能支持实时实
24、时操作系统是具有实时性,能支持实时系统工作的操作系统。它必须能保证实时系统工作的操作系统。它必须能保证实时任务在预定的时间内完成。其首要任务是任务在预定的时间内完成。其首要任务是调度一切可以利用的资源完成实时任务。调度一切可以利用的资源完成实时任务。其次才着眼于提高整个计算机系统的使用其次才着眼于提高整个计算机系统的使用效率。效率。嵌入式操作系统和实时操作系统之间的关系嵌入式操作系统和实时操作系统之间的关系大部分嵌入式操作系统都是实时操作系统。大部分实时操作系统也都大部分嵌入式操作系统都是实时操作系统。大部分实时操作系统也都是嵌入式操作系统。它们二者间有很大的交集,我们称属于交集部分是嵌入式操
25、作系统。它们二者间有很大的交集,我们称属于交集部分的操作系统为实时嵌入式操作系统。的操作系统为实时嵌入式操作系统。嵌入式操作系统的主要性能指标嵌入式操作系统的主要性能指标嵌入式操作系统在实时系统中起着重要的嵌入式操作系统在实时系统中起着重要的作用,其性能的好坏将直接影响到整个系作用,其性能的好坏将直接影响到整个系统的性能。各种量化的性能指标对评价一统的性能。各种量化的性能指标对评价一个嵌入式操作系统提供了客观的依据,这个嵌入式操作系统提供了客观的依据,这些指标分为时间性能指标和存储开销指标些指标分为时间性能指标和存储开销指标两类。两类。1.时间性能指标时间性能指标(1)中断响应时间中断响应时间
展开阅读全文