μcos-ii在s12上的移植与应用

上传人:第*** 文档编号:50097026 上传时间:2018-08-06 格式:PPT 页数:52 大小:837KB
返回 下载 相关 举报
μcos-ii在s12上的移植与应用_第1页
第1页 / 共52页
μcos-ii在s12上的移植与应用_第2页
第2页 / 共52页
μcos-ii在s12上的移植与应用_第3页
第3页 / 共52页
μcos-ii在s12上的移植与应用_第4页
第4页 / 共52页
μcos-ii在s12上的移植与应用_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《μcos-ii在s12上的移植与应用》由会员分享,可在线阅读,更多相关《μcos-ii在s12上的移植与应用(52页珍藏版)》请在金锄头文库上搜索。

1、C/OS-II在S12上的移植与应应用l 实时操作系统的概述 l 嵌入式实时操作系统C/OS- l C/OS-的任务 l C/OS-在MC9S12DG128上的移植 基于HCS12的嵌入式系统设计1 实时操作系统的概述 1.1 实时操作系统基本概念 实时操作系统是指具有实时性,能支持 实时控制系统工作的操作系统。其重要特点是通过任务调度在规定时 间内对重要事件作出正确的响应。基于HCS12的嵌入式系统设计1 实时操作系统的概述 1.1 实时操作系统基本概念 实时操作系统(Real-Time Operating System,RTOS)是嵌入式应用软件的基 础和开发平台。RTOS是一段嵌入在目标

2、代 码中的软件,用户的其他应用程序都建立 在RTOS之上,而且,RTOS还是一个可靠 性和可信性很高的实时内核,将CPU时间 、中断、I/O、定时器等资源都包装起来, 留给用户一个标准的API,并根据各个任务 的优先级,合理地在不同的任务间分配 CPU时间。 基于HCS12的嵌入式系统设计1 实时操作系统的概述 1.1 实时操作系统基本概念 从系统结构上看,实时操作系统的发展 经历了以下三个阶段:(1) 早期的实时操作系统 (2) 专用实时操作系统 (3) 通用实时操作系统 基于HCS12的嵌入式系统设计1 实时操作系统的概述 1.1 实时操作系统基本概念 RTOS必须具备以下几个功能:任务管

3、 理、任务间同步和通信、内存管理、实时 时钟服务、中断管理服务。 基于HCS12的嵌入式系统设计1 实时操作系统的概述 1.2 RTOS常用术语 (1)前/后台系统前/后台系统(Foreground/Background) 或超循环系统(Super-Loops)。应用程序是一 个无限的循环,循环中调用相应的函数完成相应 的操作,这部分可以看成后台行为。中断服务程 序处理异步事件,这部分可以看成前台行为。后 台也可以叫做任务级,前台也叫做中断级,时间 相关性很强的关键操作(Critical Operation)一 定是由中断服务来保证的。基于HCS12的嵌入式系统设计1 实时操作系统的概述 1.

4、2 RTOS常用术语 (2)代码的临界段代码的临界段也称为临界区,指处理时 不可分割的代码。一旦这部分代码开始执 行,则不允许任何中断响应。为确保临界 段代码的执行不被中断,在进入临界段之 前必须关中断,而临界段代码执行完毕, 需要立即开中断。基于HCS12的嵌入式系统设计1 实时操作系统的概述 1.2 RTOS常用术语 (3)资源任何被任务所占用的实体都可以称为资 源。资源可以是输入/输出设备,如打印机 ,显示器,键盘等;也可以是一个变量、 一个结构或者一个数组等。可以被一个以上任务使用的资源叫做共 享资源。为了防止数据被破坏,每个任务 在访问共享资源时,必须独占该资源,这 叫做互斥(Mut

5、ual Exclusion)。基于HCS12的嵌入式系统设计1 实时操作系统的概述 1.2 RTOS常用术语 (4)多任务和任务多任务执行实际上是靠CPU在许多任 务之间转换和调度实现的。任务也称做线程,是一个简单的程序 ,该程序的执行可以认为CPU完全只属于 该程序自己。典型任务往往是一个无限循 环,可能处于以下五种状态之一:休眠态 、就绪态、运行态、挂起态和被中断态。基于HCS12的嵌入式系统设计1 实时操作系统的概述 1.2 RTOS常用术语 (4)多任务和任务休眠态相当于该任务驻留在内存中, 但并不被多任务内核所调度;就绪态意味着该任务已经准备好,可 以运行,但是由于该任务的优先级比正

6、在 运行的任务优先级低,暂时还不能运行;运行态是指任务拥有CPU的使用权, 正在运行中; 基于HCS12的嵌入式系统设计1 实时操作系统的概述 1.2 RTOS常用术语 (4)多任务和任务挂起态也可以叫做等待时间态,指任务 在等待,等待某一事件的发生(例如等待 某外设的I/O操作;等待某共享资源由暂不 能使用变成可以使用状态;等待定时脉冲 的到来;或等待超时信号的到来,以结束 目前的等待状态等);被中断态是指发生中断时,CPU提供 相应的中断服务,原来正在运行的任务暂 不能运行,就进入了中断状态。 基于HCS12的嵌入式系统设计1 实时操作系统的概述 1.2 RTOS常用术语 (4)多任务和任

7、务图 12.1 任务状态切换示意图基于HCS12的嵌入式系统设计1 实时操作系统的概述 1.2 RTOS常用术语 (5)内核多任务系统中,内核(Kernel)负责 管理各个任务,或者说为每个任务分配 CPU时间,并且负责它们之间的通信。内 核提供的基本服务是任务切换。使用实时 内核可以大大简化应用系统的设计,因为 实时内核允许将应用分成若干个任务,由 实时内核来管理它们。基于HCS12的嵌入式系统设计1 实时操作系统的概述 1.2 RTOS常用术语 (6)调度调度(Scheduler)是内核的主要职责 之一,决定哪个任务运行。多数实时内核 是基于优先级调度法的。每个任务根据其 重要程度的不同,

8、被赋予一定的优先级。 基于优先级的调度法是指CPU总是让处于 就绪态的、优先级最高的任务先运行。 基于HCS12的嵌入式系统设计1 实时操作系统的概述 1.2 RTOS常用术语 (6)调度基于优先级的内核有两种:不可剥夺型和可剥夺型。不可剥夺型内核(Non-Preemptive Kernel)要求每 个任务主动放弃CPU的使用权。该类型的内核也称为合作 型多任务,每个任务彼此合作共享一个CPU。可剥夺型内核的实时操作系统常用于系统响应时间很 重要的场合。这种内核的特点是:一旦最高优先级的任务 进入了就绪态,就能得到CPU的使用权。使用可剥夺型内 核,最高优先级的任务何时可以执行,何时可以得到C

9、PU 的使用权,都是可知的。可剥夺型内核使得任务级响应时 间得以最优化。基于HCS12的嵌入式系统设计1 实时操作系统的概述 1.2 RTOS常用术语 (7)可重入函数所谓可重入函数是指可以被一个以上 的任务调度,而不必担心数据被破坏。可 重入函数任何时候都可以被中断,一段时 间以后又可以运行,而相应的数据不会丢 失。 基于HCS12的嵌入式系统设计1 实时操作系统的概述 12.1.2 RTOS常用术语 (7)可重入函数 /* /功 能:数据块从源处复制到目的处 /入口参数:char *destination,char *source /出口参数:无 */ void data_copy ( c

10、har *destination , char * source ) while ( *destination+ = *source+) ; 基于HCS12的嵌入式系统设计2嵌入式实时操作系统C/OS- 2.1 C/OS-概述 实时操作系统C/OS-的前身是C/OS, C/OS的源码曾经分两期发表在1992年第5期和 第6期“Embedded System Programming”杂志 上。在C/OS发表后的5年内,这个免费、源码公 开的嵌入式实时操作系统逐渐得到了社会的认可 ,而且被迅速地移植到诸如Freescale、Intel、 Hitachi、Mitsubishi、RAM、AD、Phil

11、ips、TI 等世界知名半导体公司的8位、16位、32位的 MCU上,也包括很多DSP。C/OS和C/OS-已经被广泛地应用在照相 机业、医疗器械、音像设备、发动机控制、网络 接入设备、高速公路电话管理系统、自动提款机 、工业机器人等众多领域。基于HCS12的嵌入式系统设计2嵌入式实时操作系统C/OS- 2.1 C/OS-概述 C/OS和C/OS-是专为嵌入式应用编写的 实时内核,它具有以下突出特点:(1)源码公开: C/OS的作者公开不仅仅是 源码本身,而且还做了详细注解,更易于读者阅 读和理解。(2)可移植性(Portable): C/OS-源码 绝大部分是用移植性很强的ANSI C写的,

12、与微处 理器硬件相关的部分才需要使用汇编语言编写, 而且汇编语言编写的部分已经降低到最低限度, 以便于 C/OS-移植到其他微处理器上。基于HCS12的嵌入式系统设计2嵌入式实时操作系统C/OS- 2.1 C/OS-概述 C/OS和C/OS-是专为嵌入式应用 编写的实时内核,它具有以下突出特点:(3)可固化(ROMable): C/OS- 是为嵌入式应用而设计的,只要具备合适 的系列软件工具,就可以将 C/OS-嵌入 到实际的产品中去。基于HCS12的嵌入式系统设计2嵌入式实时操作系统C/OS- 2.1 C/OS-概述 C/OS和C/OS-是专为嵌入式应用编写的 实时内核,它具有以下突出特点:

13、基于HCS12的嵌入式系统设计2嵌入式实时操作系统C/OS- 2.1 C/OS-概述 C/OS和C/OS-是专为嵌入式应用编写的 实时内核,它具有以下突出特点:(5)可剥夺性(Preemptive):C/OS-是 完全可剥夺型的实时内核,也就是说C/OS-总 是运行就绪条件下优先级别最高的任务。(6)多任务: C/OS-可以管理64个任务; 然而,建议用户保留8个给 C/OS-,用户可使 用的应用程序最多可有56个任务。赋予每个任务 的优先级必须是不同,这就意味着 C/OS-不 支持时间片轮转调度法(Round-Robin Scheduling)。该调度法适用于调度优先级平等 的任务。基于HC

14、S12的嵌入式系统设计2嵌入式实时操作系统C/OS- 2.1 C/OS-概述 C/OS和C/OS-是专为嵌入式应用编写的 实时内核,它具有以下突出特点:(7)时间确定性:绝大多数 C/OS-的函数 调用和服务的执行时间具有可确定性。也就是说 ,用户总是能知道 C/OS-的函数调用与服务 执行了多长时间。除了函数OSTimeTick()和某些 事件标志服务, C/OS-系统服务的执行时间 不依赖于用户应用程序任务数目的多少。(8)任务栈:每个任务都有自己单独的栈。 C/OS-允许每个任务有不同的栈空间,以便减 少应用程序对RAM的需求。使用 C/OS-的栈 空间校验函数,可以确定每个任务到底需要

15、多少 栈空间。基于HCS12的嵌入式系统设计2嵌入式实时操作系统C/OS- 2.1 C/OS-概述 C/OS和C/OS-是专为嵌入式应用编写的 实时内核,它具有以下突出特点:(9)系统服务: C/OS-提供很多系统服务 ,例如信号量、互斥型信号量、时间标志、消息 邮箱、消息列队、信号量、块大小固定的内存的 申请与释放及时间管理函数等。(10)中断管理:中断可以使正在执行的任务 暂时挂起。如果优先级更高的任务被该中断唤醒 ,则高优先级的任务在中断嵌套全部退出后立即 执行,中断嵌套层数可达255。基于HCS12的嵌入式系统设计2嵌入式实时操作系统C/OS- 2.1 C/OS-概述 C/OS和C/OS-是专为嵌入式应用编写的 实时内核,它具有以下突出特点:(11)稳定性与可靠性: C/OS-是基于 C/OS的, C/OS自1992年以来已经有数百个商 业应用。 C/OS-相对于 C/OS只是提供了更 多的功能,而内核是一样的。2000年7月, C/OS-在一个航空项目中得到了美国

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 初中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号