嵌入式微系统的筋骨:精简uC/OS-II

上传者: 38730331 | 上传时间: 2025-09-25 15:38:41 | 文件大小: 165KB | 文件类型: PDF
uC/OS-II精简嵌入式微系统的筋骨 uC/OS-II是一款开源的实时操作系统(RTOS),它是最早进入国内的一款开源RTOS,代码开源,又有配套的书籍,加上不大的代码量,在嵌入式群体中最为流行。uC/OS-II具有可配置、可裁减的特点,运用了大量的宏定义,这严重的干扰了阅读,同时也有很多网友向我反应类似的问题,因为要了解uC/OS-II的核心原理,却经常被很多没用的源码干扰。 为了更好地理解uC/OS-II,我们需要对其进行精简,去掉不必要的功能和宏定义,保留核心的部分。以下是精简uC/OS-II的六步操作: 第一步,去掉了绝大部分跟内核无关的事件管理功能,只保留了时间管理和消息队列功能,这样一来,几乎就剩下内核部分源码,阅读大大简化了。 第二步,进一步去掉用不上的功能函数,比如时间管理中只保留OSTimeDly函数,消息队列中只保留创建队列、发送消息、等待消息三个必须要用的函数。 第三步,因为能够看懂代码,就越觉得msOS不需要uC/OS-II这么多复杂的功能,比如msOS一般来说只需要两个任务即可,uC/OS-II却支持64个任务。 第四步,因为只有8个任务,而uC/OS-II默认有两个内部任务:统计任务与空闲任务,所以需要去掉这两个任务。 第五步,uC/OS-II的任务块和事件块是采用链表结构的,可以动态增删,但这一点对于绝大部分项目来说,没有意义,于是把链表结构改成数组结构。 第六步,按C#语言风格标准化,跟msOS统一编程风格。 通过以上六步操作操作之后,uC/OS-II非常简单明了,只有os.c、os.h和os_a.asm三个文件,os.c中只有寥寥15个函数,os_a.asm中只有4个汇编函数。考虑到扩展性,还是保留了uC/OS-II的一些影子,其实若再精简下去,可能就只剩下一个内核切换,msOS只需要两个任务即可,完全可以精简到跟uC/OS-II无关了。 uC/OS-II是一款功能强大且复杂的RTOS,但通过精简和优化,可以使其变得更加简单易懂,满足msOS的需求。

文件下载

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明