第一篇 UCOS 介绍
第一篇 UCOS 介绍
这个大家都知道。呵呵。考虑到咱们学习的完整性还是在这里唠叨一下。让大家再熟悉一下。高
手们忍耐一下吧! uC/OS II(Micro Control Operation System Two)是一个可以基于 ROM 运行
的、可裁减的、抢占式、实时多任务内核,具有高度可移植性,特别适合于微处理器和控制器,
是和很多商业操作系统性能相当的实时操作系统(RTOS)。为了提供最好的移植性能,uC/OS II
最大程度上使用 ANSI C 语言进行开发,并且已经移植到近 40 多种处理器体系上,涵盖了从 8
位到 64 位各种 CPU(包括 DSP)。
uC/OS II 可以简单的视为一个多任务调度器,在这个任务调度器之上完善并添加了和多任务操作
系统相关的系统服务,如信号量、邮箱等。其主要特点有公开源代码,代码结构清晰、明了,注
释详尽,组织有条理,可移植性好,可裁剪,可固化。内核属于抢占式,最多可以管理 60 个任
务。
μC/OS-II 的前身是 μC/OS,最早出自于 1992 年美国嵌入式系统专家 Jean J.Labrosse 在《嵌
入式系统编程》杂志的 5 月和 6 月刊上刊登的文章连载,并把 μC/OS 的源码发布在该杂志的 B
B S 上。
μC/OS 和 μC/OS-II 是专门为计算机的嵌入式应用设计的, 绝大部分代码是用 C 语言编写的。
CPU 硬件相关部分是用汇编语言编写的、总量约 200 行的汇编语言部分被压缩到最低限度,为
的是便于移植到任何一种其它的 CPU 上。用户只要有标准的 ANSI 的 C 交叉编译器,有汇编
器、连接器等软件工具,就可以将 μC/OS-II 嵌人到开发的产品中。μC/OS-II 具有执行效率高、
占用空间小、实时性能优良和可扩展性强等特点, 最小内核可编译至 2KB 。μC/OS-II 已经移
植到了几乎所有知名的 CPU 上。
严格地说 uC/OS-II 只是一个实时操作系统内核,它仅仅包含了任务调度,任务管理,时间管理,
内存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的
服务。但由于 uC/OS-II 良好的可扩展性和源码开放,这些非必须的功能完全可以由用户自己根
据需要分别实现。
uC/OS-II 目标是实现一个基于优先级调度的抢占式的实时内核,并在这个内核之上提供最基本
的系统服务,如信号量,邮箱,消息队列,内存管理,中断管理等。
uC/OS-II 以源代码的形式发布,但并不意味着它是开源软件。你可以将其用于教学和私下研究
(peaceful research);但是如果你将其用于商业用途,那么你必须通过 Micrium 获得商用许可。
虽然 uCOS-II 在商业上使用时需要的得到授权并且费用也是一笔不小的数字,但是他的开源毕
竟带领我们走入了内核的世界。在此我代表嵌入式工程师向 Mr Jean J.Labrosse 致谢。
任务管理
uC/OS-II 中最多可以支持 64 个任务,分别对应优先级 0~63,其中 0 为最高优先级。63 为最