博主是个小白,打算把这段时间系统学习RTOS的文章统一整理到这里,另外本文会给出一些参考性资料和指导性建议;
本文宗旨
FreeRTOS 是由Richard Barry在2003年由设计的,由于其设计的小巧简单,整个核心代码只有3到4个C文件。在设计之初就异军突起,累计开发者数百万,是目前市场占有率最高的RTOS
,现在FreeRTOS
已经支持三十多种芯片,基本包含市场上所有的微控制器。
FreeRTOS
在2018年被亚马逊收购,继续遵循GPLV2
许可协议完全免费。 Richard Barry为了让代码容易阅读、移植和维护,大部分的代码都是以C
语言编写,只有一些内核调度函数采用汇编编写。
FreeRTOS的官方资料比较多,且完善,不过弊端是中文的,另外代码里也不大,最为学习RTOS还是比较好的。曾有网友翻译过一篇《Mastering the FreeRTOS Real Time Kernel – a Hands On Tutorial Guide》 ,不过时间大体是2009版本的,作为参考依然是有价值,另外国内大佬也有著作,是基于STM32平台的FreeRTOS的实战剖析,可以参考和借鉴。
另外,是否一定需要开发板呢?
- RTOS是平台无关的,官方提供了Windows和Linux平台的仿真版本,因此直接在PC上编译运行,也可以调试RTOS内核了,这样可以极大限度减少硬件排错等问题的干扰;
- 但是个人感觉,不玩板的RTOS还是缺少了一点灵魂,后期可以结合一下具体的硬件环境,深入地学习RTOS的使用和理解RTOS的原理;比如ESP32,STM32都有比较大的可玩性。
参考资料
国内靠谱书籍
官网资料
- Visual Studio Community Edition ;
- Eclipse IDE for C and C++ Developers with the MingW GCC based compiler;
基于 Posix GCC Eclipse FreeRTOS Simulator;构建所需要工具;
Pre-requisites:
- make (tested with GNU Make 3.81)
- gcc (tested with gcc 4.4.3)
Optional:
- Eclipse Galileo
- CDT 6.0
- Eclipse STATEVIEWER Plug-in v1.0.10
③ Mastering the FreeRTOS Real Time Kernel – a Hands On Tutorial Guide
- 感觉这是最好的文档了,该书作者是FreeRTOS的作者,主要是英文版,也可以参考2009年的中文版本;
④ FreeRTOS V10.0.0 Reference Manual
- 参考手册,具体函数的功能,接口说明,在这里都能找到;
- 文档③ ④中的demo和example文件;