当前位置:首页 > 工业控制 > 工业控制
[导读]摘要:相比μC/OS—II,μC/OS—III做了很多改进,比如任务调度策略、时间节拍管理等,不仅消除了μC/OS—II中的一些局限,而且增加了一些全新的功能。本文首先介绍了μC/OS—II的特

摘要:相比μC/OS—II,μC/OS—III做了很多改进,比如任务调度策略、时间节拍管理等,不仅消除了μC/OS—II中的一些局限,而且增加了一些全新的功能。本文首先介绍了μC/OS—II的特点与局限,然后介绍了μC/OS—III所做的各种改进。
关键词:μC/OS—II;μC/OS—III;实时内核

引言
    μC/OS系列内核都是源代码开放的、可移植、可固化、可裁剪的抢占式实时多任务内核。μC/OS诞生于1992年,是针对68HC11 CPU开发的。μC/OS—II V2.0诞生于1998年,μC/OS—II V2.52诞生于2002年。针对这3个版本的实时内核,Jean J.Labrosse先生出版了3书,分别为《μC/OS The Real—Time Kernel》、《Micro C/OS—II The Real—Time kernel》和《Micro C/OS—II TheReal—Time kernel(Second Edition)》。其中,第2本和第3本书都有对应的中文译著,第3本书比第2本书增加了约250页新内容。μC/OS—III诞生于2009年,于2011年8月公开源码。《μC/OS—III The Real Time Kernel》--书分为两大部分:第1部分是对μC/OS—III硬件无关软件的描述;第2部分讲述μC/OS—III在不同型号的ARMCortex—M3/4单片机评估板上应用的范例。第1部分相同,第2部分对应不同硬件,目前已经组合出版了6本书,分别对应如下:
    ◆Freescale公司的以Kinetis53单片机为核心,面向医疗仪器类应用的TWR—K53N512评估板;
    ◆NXP公司的以LPCI768(Cortex—M3核)为核心的评估板;
    ◆Renesas公司的以RX62N为核心的评估板;
    ◆Renesas公司的以带以太网口的SH7216为核心的评估板;
    ◆ST公司的以STM32F107为核心的评估板;
    ◆TI公司的以LM3S9892为核心,面向小型机器人带以太网口的VM—EVALBOT评估板。
    μC/OS—III是针对32位CPU开发的,相比μC/OS—II做了很多改动。下面将详细介绍μC/OS—II中的一些可以改进的地方以及μC/OS—III中的一些新特性。

1 μC/OS—Il的特点与局限
    μC/OS—II主要针对8/16位CPU开发,是一个抢占式的实时多任务内核。任务调度策略是基于任务的优先级,总是运行处于就绪态的优先级最高的任务。在μC/OS—II中,每个任务都有一个唯一的优先级。μC/OS—IIV2.8之前的版本最多支持64个优先级,从V2.8开始最
多可支持255个优先级。
    μC/OS—II的核心是任务调度算法。任务调度算法的目标就是快速找出其中优先级最高的处于就绪态的任务。为了做到这一点,μC/OS —II巧妙地采用了查表法。在查表过程中,μC/OS—II需要快速找出1个8位数的第一个非零位的位置,这是通过1个由256个元素构成的查找表OSUnMapTb1[]实现的,该查找表记录了每一个8位数的第一个非零位的位置。通过这种巧妙的查表算法,不论有多少个任务处于就绪态,都能在很短的、确定的时间内找出其中优先级最高的那个就绪任务。
    如今,很多新的CPU都有一条计算前导零指令(CLZ)或功能类似的指令,比如32位PowerPC处理器的CLZ指令、Freescale S12X双核微控制器中的协处理器XGATE的Bit Field Find First One指令等。对于有这类硬件指令的CPU,无需再使用μC/OS—II中的查表算法,可以利用这类指令优化任务调度算法。
    实时系统有2类:软实时系统和硬实时系统。软实时系统中,各任务运行得越快越好,并不限定某一任务必须在多长时间内完成。硬实时系统要求系统中的任何函数都有确定的执行周期数,任务运行必须准时,执行时间不因任务多少而改变。大多数实时系统是二者的结合。μC /OS—II中仅有一处不满足硬实时条件:OSTimeTiek()函数需要遍历所有任务控制块,执行时间受任务数目的影响,而该函数由时钟节拍中断服务程序调用,因此时钟节拍中断服务程序的执行时间也受任务多少影响。通过把这部分工作放到一个专门的系统级任务中去做,便可以解决这个问题,使其成为一个满足硬实时条件的RTOS。对于Freeseale公司的双核微控制器S12X,还可以通过把时钟节拍中断的处理交给协处理器来完成,从而实现硬实时条件,提高RTOS的实时性。

2 μC/OS-III的新特性
    μC/OS—III已经不仅仅是一个RTOS内核,而是包含很多与该内核配套的软件开发包。和传统的大型商用RTOS类似,μC/OS—III能以传统的BSP(板级支持包)方式,实现诸如USB主机、文件系统、TCP/IP协议栈等,还包括RTOS本身的调试工具等。Micrium公司和很多软件公司合作,提供很多基于μC/OS—III的通用商业软件,如GUI、FS、USB、TCP/IP等。今后还会与更多的半导体厂商合作,提供更多商家的以ARM Cortex—M3/4为核心的μC/OS—III评估板。
    μC/OS—III在功能上得到了全面的扩展和提升。μC/OS—II最多支持255个任务,而μC/OS—III可以支持任意数目的任务,实际使用的任务数目仅受CPU所能使用的存储空间的限制。μC/OS—III可以支持任意数目的信号量、事件标志组、消息队列、存储块等内核对象,而且,为了避免在程序编译过程中出现资源不够分配的问题,允许用户在程序运行中动态配置内核资源。μC/OS—II允许挂起某个任务,但挂起操作不可以嵌套,而μC/OS—III允许嵌套挂起某个任务,嵌套挂起最深可达250层。μC/OS—III增加了一个时钟节拍任务来做延时处理和超时判断。通过在任务级代码完成时钟节拍服务,能极大地减少中断延迟时间。而且,μC/OS—III使用了哈希散列表机制,进一步降低了延时处理和超时判断的开销,提高了系统的实时性。
    除了功能上的扩展和提升,μC/OS—III还增加了一些新功能。μC/OS—III增加了时间片轮转调度,允许多个任务有相同的优先级。当多个优先级相同的任务同时就绪并且所属优先级高于其他所有就绪任务时,μC/OS—III轮转调度这些任务,让每个任务运行一段用户指定的时间长度(即时间片)。
    μC/OS—III允许中断或任务直接给另一个任务发信号或消息。在实际应用中,很多情况下,编程人员知道该向哪个任务发信号或消息,这时就可以使用μC/OS—III的这种新功能来向目标任务直接发信号或消息,从而避免创建和使用诸如信号量或消息队列等内核对象作为中介,提高信号或消息发送的效率。μC/OS—III增加了时间戳功能,可以给信号或消息打上时间戳,从而允许用户获取某个事件发生的时刻,以及信号或消息传递到目标任务所耗费的时间等。
    另外,μC/OS-III的设计能方便地按照CPU架构优化,特别是其数据类型可按照CPU能适应的最佳位数宽度修改,以适应8/16/32位的CPU。关键算法可采用汇编程,以发挥一些有特殊指令的CPU的优势。很多CP有读改写指令,可方便实现存储器访问的原子操作,有的CPU有计算前导零指令,可用来快速查找任务就绪表。
    μC/OS—III增加了中断处理任务,可以把内核对象的处理工作都放到任务级代码中完成,从而允许通过给调度器上锁的方式实现临界段代码的保护,这样就使内核关中断的时钟周期几乎为零。μC/OS—III内置了对系统性能进行测试的代码,能够检测每个任务的执行时间、堆栈使用情况、每个任务运行的次数、CPU利用率、关闭中断和给调度器上锁的时间等。μC/OS—III还支持内核觉察式调试,可以以友好的方式对μC/OS—III的变量、数据结构进行检查和显示,并且带有μC/Probe调试工具,可在程序运行过程中察看和修改变量。

结语
   
相比μC/OS—II,μC/OS—III做了很多改进,比如改进了任务调度方法、改进了时钟节拍管理机制、增加了中断处理任务、允许向任务直接发信号或消息、增加了时间戳功能、支持内核觉察式调试等。从这些改进来看,μC/OS—III比μC/OS—II上升到一个更高的档次。其中,一主要的改进,比如μC/OS—III的任务调度方法的改进、时钟节拍管理机制的改进、中断管理方法的改进等会在后续专题文章中详细介绍。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

上海2024年4月17日 /美通社/ -- 在2024 F1中国站即将拉开帷幕之际,高端全合成润滑油品牌美孚1号今日举办了品牌50周年庆祝活动。三届F1年度车手总冠军马克斯•维斯塔潘也亲临现场,共同庆祝这一里程...

关键字: BSP 汽车制造 行业标准 产品系列

北京2024年4月17日 /美通社/ -- 2024年4月13日,由北京康盟慈善基金会主办的"县域诊疗,规范同行"——肿瘤诊疗学术巡讲项目首站在广州隆重召开。本次会议邀请全国多位肺癌领域专家和县域同道...

关键字: AI技术 医疗服务 BSP 互联网

海口2024年4月16日 /美通社/ -- 4月14日,在中法建交60周年之际,科学护肤先锋品牌Galenic法国科兰黎受邀入驻第四届中国国际消费品博览会(以下简称"消博会")法国馆。Galenic法...

关键字: NI IC BSP ACTIVE

上海2024年4月17日 /美通社/ -- 每年4月17日是世界血友病日。今年,世界血友病日以"认识出血性疾病,积极预防和治疗"为主题,呼吁关注所有出血性疾病,提升科学认知,提高规范化诊疗水平,让每一位出血性疾病患者享有...

关键字: VII 动力学 软件 BSP

伦敦2024年4月16日 /美通社/ -- ATFX宣布任命Siju Daniel为首席商务官。Siju在金融服务行业拥有丰富的经验和专业知识,曾在全球各地的高管职位上工作了19年以上。Siju之前担任FXCM首席商务官...

关键字: NI AN SI BSP

在这篇文章中,小编将为大家带来Linux内核的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: 嵌入式 Linux 内核

常州2023年9月25日 /美通社/ -- 9月23日,由江苏省商务厅指导,世界中餐业联合会、常州市人民政府主办的"第三届中华节气菜大会暨首届江南美食节"在江苏常州开幕。文化和旅游部国际交流与合作局一...

关键字: BSP 可持续发展 大赛 质量控制

北京2023年9月25日 /美通社/ -- 9月21日,由中国质量报刊社·中国质量新闻网主办的第六届食品高质量发展交流会在北京举行,会议主题为"高质量,新生活",旨在推动食品行...

关键字: 自动化 BSP ISO9001 NAS

北京2023年9月23日 /美通社/ -- 近日,主线科技正式获准在北京市智能网联汽车政策先行区道路开启常态化测试与示范,将与物流客户在真实开放的城区道路场景中,率先开启基于L4级别自动驾驶能力的智能卡车运输示范。 随...

关键字: 智能卡 测试 高速公路 BSP
关闭
关闭