初期的μc/os 内核仅仅支持 64 个任务,而最新的μc/osIII 能够支持无穷个任务, 同时对比前两代内核,μc/osIII 提出新的功能即支持时间片轮转调度,可以在同一优 先级下管理无穷个任务,同时不再需要消息邮箱,可以直接向任务发送消息和信号 量。μc/os 代码量大小为 3K-8K,μc/osII 代码量 6K-26K,μc/osIII 代码量为 6K-24K, 相比μc/os,μc/osIII 用更加精简的代码实现了更加丰富的功能,除此之外μc/osIII 还 可以在系统运行时观测事件的事件信息[7]。

μc/osIII 提供 70 个系统函数功能函数,能够充分发挥 CPU 的能力,同时μc/osIII 是定位于高端的 32 位 CPU 的 RTOS 内核,经过仔细设计,μc/osIII 是能够在 4KB RAM 资源的微控制器上运行。如表 2-4,将不同之处列于表格之中。

表 2-4 μc/osIII 革新对比

特性 μC/OS μC/OSII μC/OSIII

年份 1992 1998 2009

源代码 开源 开源 开源

可剥夺性调度

最大任务数 64 255 无限制

优先级相同任务数 1 1 无限制

时间片轮转调度 不支持 不支持 支持

消息邮箱 不需要

直接向任务发信号 不支持 不支持 支持

直接向任务发消息 不支持 不支持 支持

软件定时器

代码量 3K-8K 6K-26K 6K-24K

数据量 1K+ 1K+ 1K+

用户可定义的介入函 数

系统服务函数 20 90 70

任务级时钟节拍处理

2。4学习μc/osIII 操作系统

μc/osIII 是以一系列函数的形势为应用程序提供服务的,应用程序通过访问一个 包含大约 70 个函数的函数库就可以使用μc/osIII。

在编写任务时,必须为任务分配任务控制块,每个任务都要有属于本身的栈,可 以是动态也可以是静态。OSInit()函数用于初始化μc/osIII,μc/osIII 至少要有两个任务 即空闲任务和时钟节拍任务。空闲任务在没有就绪任务时运行,时钟节拍任务负责 时间管理。

主函数的最后一步进行的是开启内核,开始多任务管理,μc/osIII 会首先运行在调 用开启内核之前就已经创建的优先级最高的任务。应用程序中的每一个任务都必须 调用一个可以引发任务等待某事件的函数。该任务可以等候延时结束,也可以是等 待其他任务发送的信号量或者消息。

上一篇:基于OPENCV的图像处理毛巾需切割的区域
下一篇:java+mysql智能访客系统的设计与实现

浅谈嵌入式Modem的通信技术【2467字】

浅析嵌入式系统支柱學科...

改善嵌入式Linux实时性能的方法研究【2067字】

提高实时操作系统的实时...

嵌入式系统数字图像采集...

嵌入式移动数据库研究【2530字】

嵌入式移动数据库應用研究【2321字】

网络语言“XX体”研究

老年2型糖尿病患者运动疗...

安康汉江网讯

互联网教育”变革路径研究进展【7972字】

我国风险投资的发展现状问题及对策分析

麦秸秆还田和沼液灌溉对...

新課改下小學语文洧效阅...

张洁小说《无字》中的女性意识

LiMn1-xFexPO4正极材料合成及充放电性能研究

ASP.net+sqlserver企业设备管理系统设计与开发