RTOS排位战!你到哪个段位了?
扫描二维码
随时随地手机看文章
莫问收获,但问耕耘。
——曾国藩
本文来和大家分享一下我在RTOS打怪升级路上经历的几个段位,仅供参考。
青铜段位 | 玩起来RTOS
这个段位,我把它总结为:玩起来RTOS。
2018年,我参加了RT-Thread组织的大学生雄鹰计划,和众多对RT-Thread感兴趣的学生一起学习内核,每周学习一章内容并完成作业。
这是我第一次接触RTOS内核,得益于RT-Thread的板级支持做得实在是太好了,无需任何移植,随便找块stm32板子就能跑起来RT-Thread,有训练营的教程、官方详细的文档,就这样开始了内核的学习。
在这个过程中主要是参考教程、文档来玩起来RTOS,创建线程、使用信号量、使用邮箱等等RTOS内核基本操作,并记录了一本足足有26468字的RT-Thread内核学习笔记。
黄金段位 | 知道RTOS有哪些东西
这个段位,我把它总结为:知道RTOS有哪些东西。
2019年,我参加了华为的IoT训练营,第一次接触LiteOS和小熊派IoT开发板,本着系统学习一下stm32cubemx的想法,就开始了边学习边写博客记录的过程,出完这套教程后,发现LiteOS教程稀缺,何不再趁热打铁,出一套LiteOS的教程呢?
说干就干!这一干,可谓是对自己的一次挑战。
官方没有任何细致的使用文档,代码里的注释也多是版权信息,这可咋整?只能从源码下手了。
凭借着学习RT-Thread的经验,开始啃源码,做实验,然后在教程里写出每个模块有哪些API可用,这些API如何使用,并在每篇文章中给出一个使用示例。
从内核的基本模块写到AT框架、SAL框架这些组件,再写到MQTT、LWM2M、COAP这些上云组件,历时3个多月,每天都在研究。
这次经历对我的成长挺大,以前是没有教学文档、视频就寸步难行,无从下手,之后发现其实一个RTOS里面就是那些东西,用起来都差不多的,如果具备一个RTOS的经验,再去玩其它的RTOS,很好上手。
所以,还在观望RTOS的小伙伴,不用纠结学哪个RTOS好,如果不是项目要求必须使用某一种,学哪个都是一样的。
铂金段位 | 知道RTOS是怎么干活的
这个段位,我把它总结为:知道RTOS怎么干活。
2020年,我开始了RTOS内核的学习,选择了代码写的比较简洁粗暴的TencentOS-tiny操作系统。
这次主要是分析研究源码,主要是学习研究系统中任务、信号量、消息队列如何实现,在系统中以怎样的形式存在,在提供给用户的API中究竟做了什么。
在做嵌入式项目的时候,不像开发桌面软件、开发APP那样,基本上写代码会调用API,调用库就可以,嵌入式设备中的资源都是非常有限的,如果只是一通调用而自己没有清楚的认知,做出来的产品就像是空中楼阁,看似功能非常炫酷,然而,可靠吗?面临各种各样断电、断网、信号不好、操作失误的情况,是否可以处理好这些异常呢?
就拿我自己来说,写几个任务helloworld一下,再写两个任务之间使用信号量同步,再写几个任务使用信号量之间通信,根本莫得问题。
可是一旦用RTOS做起项目来,设计到任务如何分配,如何同步,如何通信,就歇菜了,好好的RTOS程序,最后所有的逻辑都是在main任务里写……还不如裸机呢。
钻石段位 | 知道如何用RTOS干活
这一阶段,我把它总结为:知道如何用RTOS干活。
这个阶段是我准备接下来要达到的目标,建立在清楚的知道RTOS内部如何运作的基础上,可以合理的设计安排任务,合理的设计任务间如何同步运行,合理的设计任务间如何通信获取数据。
因为我一直在学校的原因,做项目都比较任性,可能觉得想玩,好玩,灵感闪现就去做了,也没有约束,没有做过实际落地产品的经历,这方面也是我一直所欠缺的。
有心的读者可以从我平常发的文章看出来,文章深度和从业好多年的大佬根本没法比,所以我会经常转载一些大佬的深度好文,一方面自己学习,另一方面分享给公众号的每位读者。
我一直很敬佩曾国藩,考了7次才中秀才,却以笨功夫成功打通科举之路,进入翰林院,一生崇尚笨拙,以扎实而非机巧取胜,很好的诠释了:
莫问收获,但问耕耘。
在机会还没到来之前,先不断学习提升自己吧~机会是留给有准备的人的,暂且就分享这些,与公众号各位读者,共勉。
-END-
推荐阅读
免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!