1. 首页
  2. 移动开发
  3. 其他
  4. ucosIII中文应用指南

ucosIII中文应用指南

上传者: 2020-05-22 07:53:38上传 PDF文件 5.31MB 热度 34次
uC/OS-I文资料 序言 什么是uCOS-I uC/OS-I(Microcosthree微型的C语言编写的操作系统第3 版)是一个可升级的,可固化的,基于优先级的实时内核。它对任务 的个数无限制。uCOS-Ⅲ是一个第3代的系统内核,支持现代的实 时内核所期待的大部分功能。例如资源管理,同步,仁务间的通信等 等。然而,uC/OS-I提供的特色功能在其它的实时内核中是找不到 的,比如说完备的运行时间测量性能,直接地发送信号或者消息到任 务,任务可以同时等待多个内核对象等。 为什么命名一个新的版木? uCOS系列,第一代产生于1992。经过了多年的使用和上千人 的反馈,已经产生了很多的进化版本。 uCOSⅢ是这些反馈和经验的总结。在uCOS中很少使用的 功能已经被删除或者被更新,添加了更高效的功能和服务。其中最有 用的功能应该是时间片轮转法(roundrobin),这个是uc/oS-II中不支 持的,但是现在已经是uC/OS-I的一个功能了。 COS-ⅢII会提供新的功能以更好地适应新出现的处理器。特别 的,uC/OS-Ⅲ被设计用于32位处理器,但是它也能在16位或8位 处理器中很好地工作 uC/OS-I文资料 uC/OS-I的目标 uC/OS-ⅢI最主要的目标是提供一流的实时内核以适应更新很快 的嵌入式产品。使用像uC/OS-I那样具有雄厚的基础和稳定的框架 的商业实时内核,能够帮助设计师们处理日益复杂的嵌入式设计。 这本书中的目标,是为了介绍uCOSⅢ的内部工作。了解这些会 帮助读者实现逻辑上的设计方案,协调统一硬件和软件会让你对幣体 的设计很有把握。 uC/OS-I文资料 1、简介 在重要的地方,实时系统凭借其系统性的计算和及时的处理能力 工作着。一共有2种类型的实吋系统:软实时系统和硬实吋系统。 软实时系统和硬实时系统的区别在于一旦没有在规定的时间内完 成任务所导致后果的严重性。超过时限后所得到的结果即使正确也可 能是毫无作用的。 硬实时系统中,运算超时是不允许发生的。在很多情况下,超时 会导致巨大的灾难,会威胁人们的生命安全。但是在软实吋系统中, 超时不会导致严重后果。 实时系统的应用范围很广,但很多实时系统是嵌入式的。一个嵌 入式系统是计算机中添加操作系统,但是用户不公认这是个计算机。 以下列岀嵌入式系统的·些例了 航空航天 通讯 加工控制 飞行管理系统 路由器 化学工 喷射发动机控制 交换机 工厂自动化 武器系统 手机 食品加工 语音 计算机外围设备机器人 MP3播放器 打印机 uC/OS-I文资料 放大器和调谐器扫描仪 汽车制造业 家用电器 视频 反锁死制动系统 空气调节机 广播设备 气候控制 恒温器 高清电视 引擎控制 大型家用电器 GPS 办公室自动化 等等 传真机 复印机 实时系统的设计,调试和配置比非实时系统难得多 1-1前后台系统 简单的小型系统设计一般是基丁前后台的或者无限循环的系统。 包含一个无限循环的模块实现需要的操作(后台)。屮断处理程序实 现异步事件(前台)。前台也叫做中断级,后台也叫作仼务级 临界操作应该在任务绂中被执行,不可避免地必须在中断处理程 序中执行也要确保是在很短的时间内完成。因为这会导致ISR古用更 长的时间。通常的,ISR中使能相关的信息而在后台程序中执行相应 的操作。这叫做任务级响应。任务级响应的时间依赖于后台循环一次 所需的时间,通常这不是一个固定常量。另外,如果其中的代码稍有 改动,那么循环一次所用的时间也将有所变化。 uC/OS-I文资料 大多数高产量低成本微控制器的应用软件(例如微波炉,电话玩 具等)都是基于前后台系统的。 SuperLoop Task1 Task2 Task3 SR Time (Foreground) ISR Infinite Task3 Task4 Nestedisr (Foreground) ISR ISR Task4 Figure1-1Foreground/Background(SuperLoops)systems 1-2实时内核 实时内核是一个能管理MPU、MCU、DSP时间和资源的软件。 实时内核的应用包括迅速地响应,可靠地完成工作的各个部分。 任务(也叫做线程)是一段简单的程序,运行时完全地占用CPU 在单CPU中,任何时候只有1个任务被执行 內核的责任是管理任务,也做多任务处理。多任务处理的作用是 协调和切换多个任务依次享用CPU。多任务处理最大化CPU的功能 uC/OS-I文资料 同时会计我们感觉是多个CPU在同时运行。多任务处理也有利于处 理模块化的应用。多任务处理一个最重要的方面在于它允许程序员管 理复杂的实时应用。在多任务处理中程序员可以简单的维护和升级产 品 uCOS-Ⅲ是一个抢占式内核,这意味着uCOS-I总是执行最 重要的就绪任务,如图1-2。 LowPriority Eventthat Task HighPriorityTask isWaitingfor Time ISR (5 HighPriority Task Infinite Infinite 6) LowPriority Task Figure1-2HC/OS.lllisapreemptivekernel F1-2(1)一个低优先级的任务正在被执行 F1-2(2)发生一个中断,CPU转向ISR F1-2(3)ISR响应中断请求设备,但是IR只做非常少的工作。ISR 应该标记或发送消息到一个高优先级的任务,让中断能够快速处理完 毕。例如,如果一个中断来自于以太网控制器,ISR标记任务,在任 务级响应以太网控制器。 F1-2(4)当ISR执行完毕,uCOS-注意到ISR创建的一个更高优 先级的任务就绪。uC/OS-Ⅲ将不会返回到中断前的任务,它会切换 uC/OS-I文资料 到这个更高优先级的任务 F1-2(5)高优先级任务执行必要的处理答复屮断请求设备 F1-2(6)当高优先级任务完成时,返回原任务中断前的代码。 F1-2(7)原任务在它被中断的地方开始执行。 COS-I內核也负责管理任务间的交流,系统的资源(内存和 I/O)。 系统中加入内核需要额外的支出,因为内核提供服务时需要时间 去处理。大多数的额外支出取决于服务的调用频繁度。在一个优秀的 设计中,内核占用CPU的时间介于2%到4%之间。因为uC/OS-II 是一个软件,添加到目标系统屮需要额外的ROM和RAM。 低档的单片机很有可能不支持像uC/OSⅢ那样的实时内核,因为 它只有很少的RAM可供访问。uC/OS-I内核需要1K到4K之间的 RAM,加上每个任务自己所需的堆栈空间。至少有4K大小RAM的 处理器才有可能成功移植uC/OS-II 最后,为了更好地使用CPU,uC/OS-II提供了大约70种常用的 服务。当用过像uC/OSI那样的具有实时内核的系统后,你将不会 再去使用前后台系统了。 1-3实时系统(RTos) 个实时系统通常包括一个实时內核以及其他高级的服务,例如: 文件管理,堆栈协议,图形用户接∏等等。大多数服务都是跟IO有 uC/OS-I文资料 关的。 Micrium提供了RTOS一套完整的组件,包括uCrS、uC/TCP-IP uC/GUI、UC/USB等。这些组件大部分都可以单独执除了uC/TCP-TP 实时内核在应用中不是必须的。事实上,用户可以单独选择您的应用 所需用的组件。详情和购买请联系Micrium(www.Micrium.com)。 1-4uC/OS-II uC/OS-Ⅲ是一个可扩展的,可凵化的,抢占式的实时内核,它管 理的任务个数不受限制。它是第三代内核,提供了现代实时内核所期 望的所有功能包括资源管理、同步、内部任务交流等。uC/OS也 提供了很多特性是在其他实吋内核中所没有的。比如能在运行吋测量 运行性能,直接得发送信号或消息给任务,任务能冋时等待多个信号 量和消息队列。 以下列出uCOSⅢ的特点: 源代码:uCOS-Ⅲ完全根据ANSC标准写的。代码的规范是 Micriu团队的一种文化。虽然很多商业內核供应商提供他们产品的 源代码,但是这些产品很有可能是笨重且难以利用的。除非代码严格 地遵循标准并且产品有完整的带例子的说明书以展示代码是怎样工 作的。通过这本书,你将会对uOS-Ⅲ内部的工作情况有一个很深 的了解。 应用程序接口(API):uC/OS-Ⅲ是很直观的。如果你熟悉类似的 编码规范,你能轻松地知道函数名所对应的服务,以及需要怎样的参
下载地址
用户评论