读uCOSIII源码笔记

这篇博客记录了作者阅读uCOSIII源码的心得体会,从while(true)到RTOS的转变,介绍了uCOSIII的抢占式内核特性、钩子函数以及源码结构,包括CPU和OS的移植相关文件,揭示了实时操作系统如何管理任务调度、中断处理和资源同步。
摘要由CSDN通过智能技术生成


首先谈一下自己读RTOS的粗略认识吧,刚开始接触单片机时使用的都是while(true),一个循环处理所有的任务。直到写了一个通过GPRS模块与上层服务通信(长连接)之后,才发现在while(true)中处理好恶心,老是掉线之后连接不上。可能是对AT指令的处理没有搞好,就开始各种找怎么解决,接触到了uC/OSIII,阅读了他提供的文档,阅读了源代码,慢慢看,感觉进步很多,用着用着就爱上了。

低复杂程度的系统通常是用foreground/background systems 或者super-loops,即while(true)。foreground为中断级别,background为任务级别。

uC/OS-III 是一个 抢占式内核,一直处理准备好的最重要的任务。ISR通知或发送信息给高优先级的任务来处理,ISR结束后uC切换到高优先级的任务处理,处理完成之后,切换到低优先级任务处理。
uC/OS-III需要1K~4Kbytes的RAM,还需加上每个任务的堆栈地址。当使用real-time kernel设计了一个系统之后,基本不会使用while(true),我就是一个典型的例子。


特别说明一下Hook(钩子函数):一个允许用户扩展系统功能的函数。在钩子函数内添加具体实现就可以了。 


uC OSIII源码结构如下
1.用户功能任务代码。
2.MCU厂商提供的操作外设的库。
3.对使用的电路板上的MCU的各种功能的初始化和操作。
4.与MCU无关的OS代码。
5.与移植到特定MCU有关。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值