【STM32】FreeRTOS简介
00. 目錄
文章目錄
- 00. 目錄
- 01. 什么是FreeRTOS
- 02. 為什么選擇FreeRTOS
- 03. FreeRTOS特點
- 04. FreeRTOS商業許可
- 05. 預留
- 06. 附錄
- 07. 參考
01. 什么是FreeRTOS
FreeRTOS的名字分為兩部分:Free和RTOS,Free是免費的、自由的、不收約束的意思。RTOS全稱是Real Time Operating System,中文名就是實時操作系統。FreeRTOS就是一個免費的RTOS類系統。RTOS并不是指一個確定的系統,而是指一類系統,比如UCOS、FreeRTOS、RTX、RT-Thread等等都屬于RTOS類操作系統。
操作系統允許多個任務同時運行,這個叫做多任務,實際上,一個處理器核心在某一個時刻只能運行一個任務。操作系統中任務調度器的責任就是決定在某一時刻究竟運行哪個任務,任務調度在各個任務之間的切換非常快。這就給人們造成同一個時刻有多個任務同時運行的錯覺。
操作系統的分類方式可以由任務調度器的工作方式決定,比如有的操作系統給每個任務分配同樣的運行時間,時間到了就輪到下一個任務,Unix操作系統就是這樣的。RTOS的任務調度器被設計為可預測的,這正是嵌入式實時操作系統所需要的,實時環境中要求操作系統必須對某一個事件作出實時的響應,因此系統任務分配一個任務優先級,任務調度器就可以根據此優先級來決定下一刻應該運行哪個任務。
FreeRTOS是RTOS系統的一種,FreeRTOS十分的小巧,可以再資源有限的微控制器中運行。從文件數量上來看FreeRTOS要比UCOSII和UCOSSIII小的多。
02. 為什么選擇FreeRTOS
RTOS類系統非常多,但是為什么選擇FreeRTOS呢?并且FreeRTOS的資料少,而且大多數是英文的。具體原因如下:
FreeRTOS免費,這個是非常重要的,UCOS是要收費的,學習RTOS系統的話UCOS是首選,但是做產品的話就要考慮一下成本了。顯而易見,FreeRTOS就是一個很好的選擇,當然也可以選擇其它的免費的RTOS系統。
許多半導體廠家產品的SDK包就是用FreeRTOS作為其操作系統,尤其是WIFI、藍牙這些帶協議棧的芯片或者模塊。
許多軟件廠商是用FreeRTOS做本公司軟件的操作系統,不如著名的TouchGFX,其所有的例程都是基于FreeRTOS操作系統的。ST公司的所有要使用RTOS系統的例程也均采用了FreeRTOS。
簡單,FreeRTOS的文件數量很少,和UCOS系統相比少很多。
文檔相對比較齊全,在FreeRTOS的官網上可以找到所需的文檔和源碼,但是所有的文檔都是英語版本的。
FreeRTOS被移植到了很多不同的微處理器上,不如我們使用的STM32F1, F2, F3, F4和最新的F7都有移植,這個極大方便了我們的學習和使用。
社會占用量高,EEtimes統計的近幾年的RTOS系統占有量中FreeRTOS已經躍升到第一位了。
2010和2011年RTOS使用榜
2012和2013年RTOS使用榜
2013年和2014年RTOS使用榜
2014年和2015年RTOS使用榜
2017年RTOS使用榜
2019年RTOS使用榜
03. FreeRTOS特點
04. FreeRTOS商業許可
FreeRTOS衍生出來了另外兩個系統:OpenRTOS和SafeRTOS。FreeRTOS開源許可協議允許在商業應用中使用FreeRTOS系統,并且不需要公開你的私有代碼。如果有以下需求的話可以使用OpenRTOS:
- 你不能接受FreeRTOS的開源許可協議條件
- 你需要技術支持
- 想獲得開發幫助
- 需要法律保護或者其它的保護
使用OpenRTOS需要準守商業協議,FreeRTOS的開源許可和OpenRTOS的商業許可區別如下:
05. 預留
06. 附錄
6.1 【STM32】STM32系列教程匯總
網址:【STM32】STM32系列教程匯總
07. 參考
《FreeRTOS Reference Manual》
《Using the FreeRTOS Real Time Kernel -A Practical Guide》
《The Definitive Guide to ARM Cortex-M3 and Cortex-M4 Processors,3rd Edition》
總結
以上是生活随笔為你收集整理的【STM32】FreeRTOS简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【STM32】ESP8266 AT指令
- 下一篇: 【STM32】FreeRTOS资源(持续