如何快速入门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会涉及到基础内容如下
任务(有的系统叫线程)
任务调度
任务优先级
信号量(包括计数信号量、二值信号量、互斥信号量)
事件标志组
消息队列
内存管理
内核时钟周期
优先级反转
空闲任务
临界区
关注公众号【一起学嵌入式】,让我们一起学习,一起成长。
公众号回复 ucos 获取ucos学习资源。 回复 FreeRTOS 获取FreeRTOS学习资源
如何快速入门RTOS相关推荐
- RTOS——RT-Thread快速入门
RT-Thread学习 背景 博主这是刚接触RTOS,因为机缘选择了从RT-Thread入手,做笔记主要是自己看的,有用得着的同学也可以看看. 学习步骤 1.Keil 模拟器STM32F103 1.1 ...
- isp串口下载 stm32_快速入门STM32单片机
我觉得想要学好STM32单片机,思路非常重要,我们不应该考虑如何快速入门,我们应该考虑的是我们可以用STM32实现什么? 32单片机有着更高的频率,更多的IO管脚数,我们可以使用32单片机的SPI.I ...
- Shiro第一个程序:官方快速入门程序Qucickstart详解教程
目录 一.下载解压 二.第一个Shiro程序 1. 导入依赖 2. 配置shiro配置文件 3. Quickstart.java 4. 启动测试 三.shiro.ini分析 四.Quickstart. ...
- 计算机入门新人必学,异世修真人怎么玩?新手快速入门必备技巧
异世修真人怎么快速入门?最近新出来的一款文字修仙游戏,很多萌新不知道怎么玩?进小编给大家带来了游戏新手快速入门技巧攻略,希望可以帮到大家. 新手快速入门攻略 1.开局出来往下找婆婆,交互给点钱,旁边有 ...
- Spring Boot 2 快速教程:WebFlux 快速入门(二)
2019独角兽企业重金招聘Python工程师标准>>> 摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘 ...
- Apache Hive 快速入门 (CentOS 7.3 + Hadoop-2.8 + Hive-2.1.1)
2019独角兽企业重金招聘Python工程师标准>>> 本文节选自<Netkiller Database 手札> 第 63 章 Apache Hive 目录 63.1. ...
- 《iOS9开发快速入门》——导读
本节书摘来自异步社区<iOS9开发快速入门>一书中的目录,作者 刘丽霞 , 邱晓华,更多章节内容可以访问云栖社区"异步社区"公众号查看 目 录 前 言 第1章 iOS ...
- BIML 101 - ETL数据清洗 系列 - BIML 快速入门教程 - 序
BIML 101 - BIML 快速入门教程 做大数据的项目,最花时间的就是数据清洗. 没有一个相对可靠的数据,数据分析就是无木之舟,无水之源. 如果你已经进了ETL这个坑,而且预算有限,并且有大量的 ...
- python scrapy菜鸟教程_scrapy学习笔记(一)快速入门
安装Scrapy Scrapy是一个高级的Python爬虫框架,它不仅包含了爬虫的特性,还可以方便的将爬虫数据保存到csv.json等文件中. 首先我们安装Scrapy. pip install sc ...
- OpenStack快速入门
OpenStack云计算快速入门(1) 该教程基于Ubuntu12.04版,它将帮助读者建立起一份OpenStack最小化安装.我是五岳之巅,翻译中多采用意译法,所以个别词与原版有出入,请大家谅解.我 ...
最新文章
- 从源码分析DEARGUI之add_slider_float-4和add_slider_int-4
- F5荣获网络优化类别年度最佳HP AllianceOne合作伙伴奖项
- Qt5布局管理(2)
- stm32 标准库一些比较容易犯的错误
- html显示假的图片路径,实现自己网站的图片假水印功能
- hexo的yelee主题修改文章正文颜色、正文字體大小
- 【numpy】数组增加一维(升维)小结
- 引言(NParsing框架功能简介、NParsing的由来)
- Beginning Python chapter 3: Working with strings
- 玩单片机需要学数电、模电吗?
- 高等数学—常见三角函数
- 金蝶开发 破解数据中心用户密码
- 九月总结:快速成长的一个月
- 声纹识别--基础学习笔记
- 配置Office Excel运行Python宏脚本!
- Android P适配以太网功能开发指南
- html标签 ppt,HTML框架标签、超链接标签、控件标签.ppt
- 暴力破解之验证码绕过
- Android 集成Facebook分享功能
- 格式工厂-格式转换器(老版本)
热门文章
- 增加虚拟android内存,怎么给安卓手机增加虚拟内存?
- HDU 3966(树链剖分)
- WEB基础之:CSS字体
- Matlab中axis函数使用
- win10计算机管理里用户,win10怎么查看有几个用户 win10新增管理员账户的步骤演示...
- 台式电脑开机显示蓝屏 检查计算机上的病毒,电脑出现蓝屏问题的诊断以及处理的方法...
- 求椭圆的切线方程------很有对称美
- 圆和长方形周长相等谁的面积大_长方形,正方形和圆的面积相等时,谁的周长最大...
- item_review - 获得淘宝商品评论电商API
- Win10 虚拟桌面