素材來源:FreeRTOS 編輯整理:strongerHuang
前幾天,FreeRTOS 從V10.3.1 升級到了 V10.4.0,其中更新并增強了不少內容。
一、版本管理
到目前為止,FreeRTOS zip文件發行版都帶有其所包含的內核發行版的版本號。例如,FreeRTOSv10.4.0.zip包含FreeRTOS內核的版本10.4.0。但是,內核不是zip文件中包含的唯一單獨版本化的庫,并且在將來的發行版中,zip文件中的庫數將增加。因此,為了更好地反映zip文件實際上包含集成在一起的庫的集合,將來的發行版將使用日期戳版本而不是內核版本。
二、向后兼容
FreeRTOS升級做了很多改變,但為了向后兼容,除了注釋版本之外,在升級改版的代碼中做了一定管理,比如:trcConfig.h文件中將TRC_CFG_FREERTOS_VERSION設置為TRC_FREERTOS_VERSION_10_4_0。
三、代碼格式化
現在FreeRTOS代碼格式化現已“自動化”,以促進 Git中的協作開發。自動格式化的代碼不相同,保留原始格式約定。最明顯的是現在使用空格代替TAB。
四、主要增強功能
這里有幾點內容:
1.任務通知
在FreeRTOS V10.4.0之前版本,每個創建的任務都有一個單向任務通知。從FreeRTOS V10.4.0開始,每個任務都有一系列通知。直接到任務通知API已擴展了帶有后綴為“ Indexed”的API函數,以使API能夠在任何數組索引處對任務通知進行操作。
在FreeRTOS V10.4.0之前的版本中,任務只有一個通知值,而不是值數組,因此為了向后兼容,如果未定義configTASK_NOTIFICATION_ARRAY_ENTRIES,則默認為1。
可以參看下面鏈接了解更多詳情:
https://www.freertos.org/RTOS-task-notifications.html (公號不支持外鏈接,請復制鏈接到瀏覽器打開)
2.支持內存保護單元(MPU)的內核端口
ARMv7-M和ARMv8-M MPU端口現在支持僅特權訪問堆。ARMv7-M MPU端口現在支持具有16個MPU區域的設備覆蓋特權代碼和數據的默認內存屬性區域,并能夠將FreeRTOS內核代碼置于Flash?,F在,ARMv8-M MPU端口支持無滴答空閑模式。
可以參看下面鏈接了解更多詳情:
https://www.freertos.org/FreeRTOS-MPU-memory-protection-unit.html
五、其他更新
1.回調函數的原型(以“ Application”開頭的原型,如vApplicationStackOverflowHook())現在位于FreeRTOS頭文件,從而無需應用程序編寫者將原型添加到它們定義功能的C文件。
2.添加了新的POSIX端口層,允許FreeRTOS在Linux操作系統的主機上運行Windows端口層,使FreeRTOS在Windows上運行的方式相同主機。
3.新版本修復了長期存在的調度程序錯誤:在上下文切換期間可以同時執行兩個任務。
原文標題:FreeRTOS V10.4.0更新了哪些功能?
文章出處:【微信公眾號:strongerHuang】歡迎添加關注!文章轉載請注明出處。
責任編輯:haq
-
RTOS
+關注
關注
24文章
841瀏覽量
120757
原文標題:FreeRTOS V10.4.0更新了哪些功能?
文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
在 NXP i.MX 8M Plus EVK上比較Yocto 4.0和Yocto 5.0時,空閑模式下的功耗增加了 20%,為什么?
用AFE4400搭建血氧計,請問用AFE4400需要注意一些什么呢?
一些常見的動態電路

分享一些常見的電路

評論