ucos-II操作系统概述及任务管理_第1页
ucos-II操作系统概述及任务管理_第2页
ucos-II操作系统概述及任务管理_第3页
ucos-II操作系统概述及任务管理_第4页
ucos-II操作系统概述及任务管理_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、演讲人:伍莹莹演讲人:伍莹莹 目前目前,嵌入式系统在家电、嵌入式系统在家电、 移动电话、移动电话、 PDA等等各种领域的应用日益广泛各种领域的应用日益广泛,程序设计也越来越复杂程序设计也越来越复杂,这就需要采用一个通用的嵌入式操作系统来对其这就需要采用一个通用的嵌入式操作系统来对其进行管理和控制。移植了操作系统的嵌入式系统进行管理和控制。移植了操作系统的嵌入式系统开发开发,可大大减轻程序员的负担可大大减轻程序员的负担,操作系统提供了多操作系统提供了多任务的管理功能任务的管理功能,只需专注于每个任务的管理。对只需专注于每个任务的管理。对于不同的应用于不同的应用,可以按照相同的步骤完成系统设计。可

2、以按照相同的步骤完成系统设计。 如果更换硬件平台如果更换硬件平台,则只需要对操作系统进行少量则只需要对操作系统进行少量的移植工作的移植工作, 与硬件无关的应用代码完全无需修改。与硬件无关的应用代码完全无需修改。背景背景n商用型的实操作系统功能稳定、可靠,有完善的技术支持和售后服务,但往往价格昂贵,如Vxworks、QNX、WinCE、Palm OS等。n免费型的实时操作系统在价格方面具有优势,目前主要有Linux,C/OS是一种源码开放的商业RTOS。常见的嵌入式操作系统常见的嵌入式操作系统实时嵌入式操作系统的种类繁多,大体上可分为两种,实时嵌入式操作系统的种类繁多,大体上可分为两种,商用型和

3、免费型。商用型和免费型。C/OS简介简介1、C/OSMicro Controller OS,微控制器操作系统。2、C/OS简介n美国人Jean Labrosse 1992年完成。n应用面覆盖了诸多领域,如照相机、医疗器械、音响设备、发动机控制、高速公路电话系统、自动提款机等 。n1998年C/OS-II,目前的版本C/OS IIV2.61,2.72。n2000年,得到美国航空管理局(FAA)的认证,可以用于飞行器中。v公开源代码公开源代码v可移植性(可移植性(Portable)v可固化(可固化(ROMable) C/OS-II是为嵌入式应用而设计的,这就意味着,只要读者有固化手 段(C编译、连

4、接、下载和固化), C/OS-II可以嵌入到读者的产品 中成为产品的一部分。v可裁剪(可裁剪(Scalable)可以只使用C/OS-II中应用程序需要的那些系统服务。也就是说某产 品可以只使用很少几个C/OS-II调用,而另一个产品则使用了几乎所 有 C/OS-II的功能,这样可以减少产品中的C/OS-II所需的存储器空 间(RAM和ROM)。这种可剪裁性是靠条件编译实现的。C/OS-II的性能特点的性能特点v 占先式(占先式(Preemptive)v 多任务多任务 C/OS-II可以管理64个任务,然而,目前这一版本保留8个给系统。应用程序最多可以有256个任务v 可确定性可确定性 全部 C

5、/OS-II的函数调用与服务的执行时间具有可确定性。v 任务栈任务栈 每个任务有自己单独的栈, C/OS-II允许每个任务有不同的栈空间,以便压低应用程序对RAM的需求。C/OS-II的性能特点的性能特点C/OS-II的性能特点的性能特点v 系统服务系统服务 C/OS-II提供很多系统服务,例如邮箱、消息队列、信号量、块大小固定的内存的申请与释放、时间相关函数等。v 中断管理中断管理 中断可以使正在执行的任务暂时挂起,如果优先级更高的任务被该中断唤醒,则高优先级的任务在中断嵌套全部退出后立即执行,中断嵌套层数可达255层。v 稳定性与可靠性稳定性与可靠性C/OS-II的文件结构的文件结构应用程

6、序软件uC/OS-II(与处理器无关的代码)OS_CORE.C、OS_MBOX.COS_MEM.C、OS_SEM.C、OS_TIME.C、OS_FLAGS.C、uC/OS-II.C、uC/OS-II.HOS_Q.C、OS_TASK.CuC/OS-II设置(与应用相关的代码)OS_CFG.HINCLUDES.HuC/OS-II移植(与处理器相关的代码)OS_CPU.HOS_CPU_A.ASMOS_CPU_C.CCPU时钟软件硬件移植移植, 就是使一个实时内核能在某个微处理器或微控制器上运行。就是使一个实时内核能在某个微处理器或微控制器上运行。C/OS-II移植移植要使要使 C/OS- II 能够

7、正常运行能够正常运行,处理器必须满足以下几处理器必须满足以下几个条件个条件n(1)处理器的 C编译器能产生可重入代码;n(2)在程序中可以打开或者关闭中断;n(3) 处理器支持中断, 并且能产生定时中断 (通常在 l0l000Hz之间);n(4)处理器支持能够容纳一定量数据的硬件堆栈;n(5)处理器有将堆栈指针和其他CPU寄存器存储和读出到堆栈(或者内存)的指令。 对对 C/OS- II 的移植实际上就是对与处理器有关的代码进行重的移植实际上就是对与处理器有关的代码进行重写或修改。写或修改。 一般移植代码结构由四部分组成,分别是用户代码部分用户代码部分、 核核心代码部分心代码部分、 设置代码部

8、分设置代码部分、与处理器相关的移植代码与处理器相关的移植代码部分。用户代码即应用软件,用来实现用户的具体要求;核心代码部分,包含OS_CORE.C、COS_FLAG.C、OS_MBOX.C、OS_MEME.C、OS_Q.C、OS_SEM.C、OS_TASK.C、 OS_TIME.C、 C/OS- II.C、 C/OS- II.H 十个文件;设置代码部分,即 C/OS-II 配置代码,包含 OS_CFG.H、INCLUDES.H 两个文件,用来配置事件控制块的数目以及是否包含消息管理相关代码等;与处理器相关代码即 C/OS- II 要移植的处理 器配置代码,包含OS_CPU.H、OS_CPU_A

9、.ASM、OS_CPU_C.C三个文件,在在 C/OS- II 的移植过程中,用户所需要关注的就是的移植过程中,用户所需要关注的就是这部分文件这部分文件。C/OS-II移植移植C/OS-II任务管理任务管理nC/OS-可以管理多达64个任务;n每个任务被赋以不同的优先级,取值从0到OS_LOWEST_PRIO-2,数值越小,优先级越高;n系统保留了优先级为0、1、2、3、OS_LOWEST_PRIO-3、OS_LOWEST_PRI0-2,OS_LOWEST_PRI0-1以及OS_LOWEST_PRI0这8个任务以被将来使用,用户可以有56个应用任务;n任务的优先级同样也是它的标识号ID。任务管

10、理的系统服务任务管理的系统服务n创建任务n删除任务n修改任务的优先级n挂起和恢复任务n获取一个任务的有关信息任务的状态及转换任务的状态及转换v在用户任务函数中,必须包含至少一次对操作在用户任务函数中,必须包含至少一次对操作系统服务函数的调用,否则比起优先级低的任务系统服务函数的调用,否则比起优先级低的任务将无法得到运行机会,这是用户函数和普通函数将无法得到运行机会,这是用户函数和普通函数的明显区别。的明显区别。v任务函数的结构按任务的执行方式可以分为任务函数的结构按任务的执行方式可以分为3类:类:单次执行单次执行、周期性执行周期性执行和和事件触发执行事件触发执行。任务设计任务设计单次执行任务函

11、数结构单次执行任务函数结构nvoid myTask(void)进行准备工作的代码;任务实体代码;调用任务删除函数;/调用OSTaskDel(OS_PRIO_SELF)通过创建任务函数来启动,当该任务被另一个任务或者主函数创建时,就进入就绪状态,等到比他优先级高的任务都挂起时获得运行权,进入运行状态,任务完成后自我删除。周期性执行任务函数结构周期性执行任务函数结构nvoid myTask(void)进行准备工作的代码;while(1)任务实体代码;调用系统延时函数;/把CPU的控制权交给操作系统,使/自己挂起。当延时时间到时,重/新进入就绪状态。事件触发执行任务函数结构事件触发执行任务函数结构nvoid myTask(void)进行准备工作的代码;while(1)调用获取事件的函数;/如等待信号量、等待邮箱中的消息等任务实体代码;任务划分原则任务划分原则n以C

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论