如何快速入门RTOS(转载)

摘要
本文结合自己学习RTOS的经历,来谈谈如何快速入门一款RTOS,希望能够给初学者以启发,找到适合自己的学习思路和方法。

我的学习经历
ucos学习
我是在上学期间接触到了RTOS,当时学习的是ucos-II。首次接触RTOS,许多概念都是全新的,在图书馆找了两本书就开始学习了。《嵌入式操作系统uCOS-II(第二版)》(邵贝贝译著)、《嵌入式实时操作系统μCOS-II原理及应用》(任哲编著)。

说实话,对于初学者来说,《嵌入式实时操作系统μCOS-II原理及应用》这本书更合适一些,门槛低一些。《嵌入式操作系统uCOS-II(第二版)》这本书涉及到内容太多而且繁杂,门槛相对来说较高,不利于初学者学习。

经历缓慢而痛苦的学习后,终于把这两本书各啃了两遍,对uCOS涉及到的理论知识进行了系统的学习,由于当时没有开发板练手,只能算是理论入门了。

FreeRTOS学习
工作后,由于项目用的是FreeRTOS,便开始学习FreeRTOS。当时,它的中文资料很少。我在官网上下载了一些官方文档(全是英文),利用上下班坐车的时候,将官方指导手册读了一遍,熟悉了FreeRTOS提供的资源和API的用法。

接着就是在实际项目中应用。经历过一个项目之后,基本上能够熟练使用FreeRTOS完成需求的功能了。

RT-Thread学习
机缘巧合接触到了RT-Thread。这是一款国产的RTOS,现在发展势头很猛。当时,有幸参加了官方组织的RT_thread内核视频培训,以及网络实战训练营。同时,将官方文档《RT-THread编程指南》刷了一遍。经过理论+实践的学习方式,很快便掌握了RT-Thread内核编程。

后来将内核源码研究了一遍,弄懂了其设计思想和实现方法。不得不说,代码写的非常棒。基于此,较深入地理解了RTOS内核工作原理。功力又上升了一个层次。

同年,官方组织提前阅读评审书籍《嵌入式实时操作系统:RT-Thread设计与实现》,参与了评审并提供了一些修改建议,此过程相当于重新系统地学习了一下RT-Thread。

通过对RT-Thread的学习,对RTOS的原理有了较深入的理解。自认为把RTOS相关的基础知识夯实了。在看其他RTOS,很快便能上手应用。其他RTOS的实现大同小异,只是具体的设计思想和实现有差别。

我的学习方法
看资料。多看官方发布的资料,因为只有官方才能真正明白系统的设计思路和使用方法。官方的资料更能简单明了地介绍RTOS,以及快速指导使用者用到自己的项目中去。

做笔记。看资料的同时,要做学习笔记。我当时学习RTOS的时候,新的概念记不住,我就用笔抄一遍关键的知识点。记得当时抄了将近三个笔记本。

动手练习。一定要动手练习,只有经过亲自实践之后才能真正掌握。否则,只是纸上谈兵,时间长了,很容忘记。

多回顾。 动手练习的同时要回顾学过的理论知识。古人有云:“温故而知新”。只有理论加实践,才能快速掌握一项新的知识,达到融会贯通的程度。

需要具备的基础
具备C语言的基础知识,能够自己编写简单的程序代码。

学习过MCU裸机编程,最好了解中断、常用外设接口的使用等知识。

选择一款RTOS
目前比较有名的几款RTOS有以下几种,根据需要选择一款适合自己的进行学习。

ucos   资料丰富,但是代码结构复杂。

FreeRTOS   轻量级的RTOS,市场占用率比较高。

RT-Thread   国产RTOS,中文资料丰富,代码优美。

LiteOS   华为出品,定位物联网操作系统。

准备学习资料
获取系统源码
上官方网站下载即可,官方网站均提供下载支持。

文档资料
官方会提供指导学习手册或者使用指南。建议以官方资料为主,如果资料为英文的,可以去网上找大佬总结的学习资料或者翻译过来的中文资料。

熟悉RTOS的基础内容
对于初学者,在学习过程中会涉及很多全新的概念。若一时理解不了,不要灰心,先放一放。随着学习的深入,自然会慢慢理解。RTOS会涉及到的基础内容如下

任务(有的系统叫线程)

任务调度

任务优先级

信号量(包括计数信号量、二值信号量、互斥信号量)

事件标志组

消息队列

内存管理

内核时钟周期

优先级反转

空闲任务

临界区 作者:一起学嵌入式 https://www.bilibili.com/read/cv14522727/?from=search&spm_id_from=333.337.0.0 出处:bilibili


已发布

分类

来自

标签:

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注