博主是個小白,打算把這段時間系統學習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文件;