FreeRTOS --(0)簡介

FreeRTOS 是一個嵌入式實時操作系統,具有相對(相對 Linux、Windows等)較小的體積,使用精簡的代碼實現了簡單的進程調度,內存管理,消息發送,等,常常用在一些需要支持多任務的 MCU 上;

在沒有 RTOS 的嵌入式小系統中,代碼都跑在 while 1 中,我們稱之爲 “裸機”,也沒有任務的概念;而 RTOS 的出現,使得可以支持多任務執行(宏觀並行,微觀串行),任務與任務,中斷與任務,之間可以通過消息傳遞數據;

RTOS(Real Time Operation System)實時操作系統的目的是讓關鍵的任務可以得到及時的執行,任務優先級和任務搶佔是 RTOS 的特點;

既然是需要兼容跑在小型嵌入式系統中,那麼就要求 RTOS 體積必須小,而且效率一定要高,否則引入 RTOS 對小型單片機來說就成爲了一種拖累,FreeRTOS 針對性很強,較好的控制了代碼體積(幾千行),在有限的空間,實現了幾乎所有常用到的小型嵌入式常用的特性,使得嵌入式開發變得更加容易和清晰;

FreeRTOS 發展得非常迅速,而且免費。與此同時,已經支持了許多不同編譯器(Keil/IAR/GCC/LLVM)和不同的處理器(ARM/RISC-V等),而且有非常多的用戶羣:

FreeRTOS 中,主要由任務管理、內存管理、隊列管理、定時器管理、中斷管理、以及一些數據結構構成;FreeRTOS 提供了一個叫做 FreeRTOSConfig.h 的頭文件,其中定義了很多 OS 相關的 Feature 開關,以支持根據不同的場景進行增加或者裁剪 Feature,已達到特定需求的最佳配置;

FreeRTOS 的源代碼可以通過訪問它的官方網站來下載:

https://www.freertos.org/index.html 

在官網的 Resources -> Books and Manuals 中有一些說明文檔,主要是針對 FreeRTOS 的內核行爲以及一篇 API 文檔;

除了純 RTOS 部分,還提供了一些第三方的組件,能夠支持更多的功能(比如網絡等);不在這裏過多的介紹了;

 

一些參考:

https://blog.csdn.net/zhzht19861011/article/details/49819109?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-1

https://blog.csdn.net/lxl584685501/article/details/46621991

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章