摘要

本文结合自己学习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会涉及到基础内容如下

  • 任务(有的系统叫线程)

  • 任务调度

  • 任务优先级

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

  • 事件标志组

  • 消息队列

  • 内存管理

  • 内核时钟周期

  • 优先级反转

  • 空闲任务

  • 临界区

关注公众号【一起学嵌入式】,让我们一起学习,一起成长。

公众号回复 ucos  获取ucos学习资源。 回复 FreeRTOS 获取FreeRTOS学习资源

如何快速入门RTOS相关推荐

  1. RTOS——RT-Thread快速入门

    RT-Thread学习 背景 博主这是刚接触RTOS,因为机缘选择了从RT-Thread入手,做笔记主要是自己看的,有用得着的同学也可以看看. 学习步骤 1.Keil 模拟器STM32F103 1.1 ...

  2. isp串口下载 stm32_快速入门STM32单片机

    我觉得想要学好STM32单片机,思路非常重要,我们不应该考虑如何快速入门,我们应该考虑的是我们可以用STM32实现什么? 32单片机有着更高的频率,更多的IO管脚数,我们可以使用32单片机的SPI.I ...

  3. Shiro第一个程序:官方快速入门程序Qucickstart详解教程

    目录 一.下载解压 二.第一个Shiro程序 1. 导入依赖 2. 配置shiro配置文件 3. Quickstart.java 4. 启动测试 三.shiro.ini分析 四.Quickstart. ...

  4. 计算机入门新人必学,异世修真人怎么玩?新手快速入门必备技巧

    异世修真人怎么快速入门?最近新出来的一款文字修仙游戏,很多萌新不知道怎么玩?进小编给大家带来了游戏新手快速入门技巧攻略,希望可以帮到大家. 新手快速入门攻略 1.开局出来往下找婆婆,交互给点钱,旁边有 ...

  5. Spring Boot 2 快速教程:WebFlux 快速入门(二)

    2019独角兽企业重金招聘Python工程师标准>>> 摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘 ...

  6. Apache Hive 快速入门 (CentOS 7.3 + Hadoop-2.8 + Hive-2.1.1)

    2019独角兽企业重金招聘Python工程师标准>>> 本文节选自<Netkiller Database 手札> 第 63 章 Apache Hive 目录 63.1. ...

  7. 《iOS9开发快速入门》——导读

    本节书摘来自异步社区<iOS9开发快速入门>一书中的目录,作者 刘丽霞 , 邱晓华,更多章节内容可以访问云栖社区"异步社区"公众号查看 目 录 前 言 第1章 iOS ...

  8. BIML 101 - ETL数据清洗 系列 - BIML 快速入门教程 - 序

    BIML 101 - BIML 快速入门教程 做大数据的项目,最花时间的就是数据清洗. 没有一个相对可靠的数据,数据分析就是无木之舟,无水之源. 如果你已经进了ETL这个坑,而且预算有限,并且有大量的 ...

  9. python scrapy菜鸟教程_scrapy学习笔记(一)快速入门

    安装Scrapy Scrapy是一个高级的Python爬虫框架,它不仅包含了爬虫的特性,还可以方便的将爬虫数据保存到csv.json等文件中. 首先我们安装Scrapy. pip install sc ...

  10. OpenStack快速入门

    OpenStack云计算快速入门(1) 该教程基于Ubuntu12.04版,它将帮助读者建立起一份OpenStack最小化安装.我是五岳之巅,翻译中多采用意译法,所以个别词与原版有出入,请大家谅解.我 ...

最新文章

  1. 从源码分析DEARGUI之add_slider_float-4和add_slider_int-4
  2. F5荣获网络优化类别年度最佳HP AllianceOne合作伙伴奖项
  3. Qt5布局管理(2)
  4. stm32 标准库一些比较容易犯的错误
  5. html显示假的图片路径,实现自己网站的图片假水印功能
  6. hexo的yelee主题修改文章正文颜色、正文字體大小
  7. 【numpy】数组增加一维(升维)小结
  8. 引言(NParsing框架功能简介、NParsing的由来)
  9. Beginning Python chapter 3: Working with strings
  10. 玩单片机需要学数电、模电吗?
  11. 高等数学—常见三角函数
  12. 金蝶开发 破解数据中心用户密码
  13. 九月总结:快速成长的一个月
  14. 声纹识别--基础学习笔记
  15. 配置Office Excel运行Python宏脚本!
  16. Android P适配以太网功能开发指南
  17. html标签 ppt,HTML框架标签、超链接标签、控件标签.ppt
  18. 暴力破解之验证码绕过
  19. Android 集成Facebook分享功能
  20. 格式工厂-格式转换器(老版本)

热门文章

  1. 增加虚拟android内存,怎么给安卓手机增加虚拟内存?
  2. HDU 3966(树链剖分)
  3. WEB基础之:CSS字体
  4. Matlab中axis函数使用
  5. win10计算机管理里用户,win10怎么查看有几个用户 win10新增管理员账户的步骤演示...
  6. 台式电脑开机显示蓝屏 检查计算机上的病毒,电脑出现蓝屏问题的诊断以及处理的方法...
  7. 求椭圆的切线方程------很有对称美
  8. 圆和长方形周长相等谁的面积大_长方形,正方形和圆的面积相等时,谁的周长最大...
  9. item_review - 获得淘宝商品评论电商API
  10. Win10 虚拟桌面