关注+星标公众号,不错过精彩内容

作者 | strongerHuang
微信公众号 | 嵌入式专栏
在读大学的时候,我喜欢研究底层的技术原理,比如数码管、液晶、74系列逻辑IC等,好奇它们怎么工作、怎么实现的,也会写一些代码来测试,验证其中原理。
再后来,学习一些协议栈、RTOS,会比较好奇,也会花时间研究其中的源码。
直到深入阅读、理解RTOS内核源码的时候,才发现并非一件容易的事。
因为最近有读者在问类似的问题,有没有必要阅读RTOS内核源码,所以,今天就来简单分享一下相关的内容。
我学习RTOS的经历


我接触μCOS操作系统是在2011年,那个时候也是参考各种例程移植代码,观察各种现象。
虽然系统跑通了,内核资源也用上了,但始终不能理解各种原理,也不能Get到实时操作系统的精髓。
于是,开启了阅读源码之路,这一下来,发现并不简单。因为操作系统中有各种指针、数组、结构体等,那个时候老师也从来没有教过数据结构那些知识,只能靠自己一步一步摸索。
我阅读μCOS操作系统内核源码及内核资源,前前后后、断断续续大概花了一年时间,之后才深入明白RTOS原来是这么工作的,也更加理解了μCOS内核调度原理、通信机制等。
如果早些年有学习μCOS的同学,应该会看过我早期分享的一份基于神舟III号、uCOS2.92系统的源码,包含多任务、信号量、互斥锁、事件标志、消息邮箱、消息队列、内存管理等各种例程:

这份源码有中文注释,是我早期学习μCOS的时候一步一步翻译过来,当时学习μCOS可以说下了狠功夫。
关于这个源码我录了一个简单的视频:
学习RTOS有必要阅读源码吗?
基础较差的人
没有时间的人
我学习RTOS之前折腾过很多源码,也参加过电子设计竞赛得过奖,自认为基础还可以。关键是在大学,有大量的时间。
如果你基础不好,且没有太多空闲时间,又要学习RTOS,阅读源码一定要慎重、慎重、再慎重。
对于绝大部分读者,我的建议是:直接参考例程,然后折腾操作系统的各种API,通过状态灯、串口打印输出理解其中的作用及原理。
比如:创建任务之后,删除任务,你观察状态灯是否还在执行这个任务。
阅读并理解内核源码有什么好处?
你可能会问:不建议阅读源码,是不是阅读源码就没啥作用了?
阅读并理解源码其实对自己有很大帮助作用的,比如你会进一步理解RTOS各种通信机制方便后期应用编程,再比如能提升自己的编程思维,我后期很多项目都借鉴了一些源码的模式。
最后再说明一下,RTOS内核有一些相对复杂的内容,如果你基础不好,可能阅读几天就放弃了。同时,如果你没时间,只是三天打鱼两天晒网,最终可能没有一点收获。
所以,对于绝大部分人我是不建议阅读源码。
后台回复『RTOS』『STM32』阅读更多相关文章。

点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。