• 正文
  • 推薦器件
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

FreeRTOS V11.0升級(jí)了多項(xiàng)重要功能,兼容V10版本

2024/02/04
3406
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

微信公眾號(hào)?| strongerHuang

年前12月份的時(shí)候,F(xiàn)reeRTOS 升級(jí)到V11.0版本,你們項(xiàng)目用上了這個(gè)最新版本嗎?

我最近抽時(shí)間,把老項(xiàng)目中V10版本的FreeRTOS,升級(jí)(替換)為最新V11.0.1版本,發(fā)現(xiàn)編譯沒有錯(cuò)誤,然后也實(shí)際在產(chǎn)品上跑了一下,沒發(fā)現(xiàn)什么問題。

這說明,V10和V11版本還是兼容,至少用到的這些API接口上沒問題。

當(dāng)然,我只是簡單跑了一下,沒有經(jīng)過嚴(yán)格測試。還有,項(xiàng)目中用到的接口都是一些常規(guī)的,而且只是占據(jù)少部分。

V11和V10的接口是否全面兼容,還有有待驗(yàn)證,只能說常規(guī)的接口是向下兼容,且增加了一些更現(xiàn)代、更先進(jìn)的API接口。

重要的更新內(nèi)容

FreeRTOS從V10升級(jí)到V11,從官網(wǎng)給出的信息,升級(jí)的內(nèi)容非常多,有30條左右,下面給大家列舉一些重要的更新內(nèi)容:

1、支持對(duì)稱多處理 (SMP)?

FreeRTOS 在 2017 年推出了對(duì)非對(duì)稱多處理 (AMP) 的支持,而V11版本的 FreeRTOS 首次將對(duì)稱多處理 (SMP) 支持納入主線版本。借助 SMP, FreeRTOS 內(nèi)核的實(shí)例可以在多個(gè)相同的處理器核心中調(diào)度任務(wù)。

2、合規(guī)性檢查從 PC Lint 切換到 Coverity?

FreeRTOS源代碼遵循?MISRA 行業(yè)規(guī)范,此次升級(jí),將規(guī)范從 MISRA C:2004 更新了 MISRA C:2012,代碼靜態(tài)分析工具也切換到了Coverity.

這里簡單可以一下什么是?MISRA 行業(yè)規(guī)范:MISRA C是由汽車產(chǎn)業(yè)軟件可靠性協(xié)會(huì)(MISRA)提出的C語言開發(fā)標(biāo)準(zhǔn)。

其目的是在增進(jìn)嵌入式系統(tǒng)的安全性及可移植性,針對(duì)C++語言也有對(duì)應(yīng)的標(biāo)準(zhǔn)MISRA C++。

這里可以參看我分享的文章:汽車行業(yè) C 語言標(biāo)準(zhǔn):MISRA C

3、增加FreeRTOSConfig.h說明(注釋)?

就是增加了FreeRTOSConfig.h配置文件的注釋,比以前更加詳細(xì)了。

4、增加內(nèi)存安全檢查?

在heap_4.c和heap5 .c中增加了對(duì)內(nèi)部堆塊指針的邊界檢查和混淆,以幫助捕獲指針異常。

比如 pvPortMalloc :

5、增加一些API接口?

拋開新支持的一些功能之外,也增加了一些實(shí)用的API接口,比如:uxTaskBasePriorityGet 和 uxTaskBasePriorityGetFromISR 來獲取任務(wù)最后分配的基本優(yōu)先級(jí)。

還添加了“跟蹤宏”,支持跟蹤所有api的輸入和退出。

6、更新/修復(fù)一些功能?

更新并修改一些功能和潛在的bug,比如:更新Cortex-M端口的中斷優(yōu)先級(jí)斷言,使它們不會(huì)在沒有實(shí)現(xiàn)PRIO位的QEMU上觸發(fā)。

再比如:更新eTaskGetState和uxTaskGetSystemState,對(duì)于等待就緒的任務(wù)返回eReady.

還有:更新ARMv7-M端口以確保內(nèi)核中斷以最低優(yōu)先級(jí)運(yùn)行。

時(shí)間有限,就整理這么多,詳細(xì)更新說明,大家可以參看:https://github.com/FreeRTOS/FreeRTOS-Kernel/blob/main/History.txt

最后,如果大家升級(jí)到V11有遇到各種問題,歡迎留言交流和討論。

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
MC9S12A64CFUE 1 Rochester Electronics LLC 16-BIT, FLASH, 25MHz, MICROCONTROLLER, PQFP80, PLASTIC, QFP-80
$14.39 查看
ATMEGA8515L-8AU 1 Microchip Technology Inc IC MCU 8BIT 8KB FLASH 44TQFP

ECAD模型

下載ECAD模型
$4.23 查看
ATXMEGA256D3-AUR 1 Microchip Technology Inc IC MCU 8BIT 256KB FLASH 64TQFP
$6.07 查看

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計(jì)資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄

作者黃工,從事嵌入式軟件開發(fā)工作8年有余,高級(jí)嵌入式軟件工程師,業(yè)余維護(hù)公眾號(hào)『strongerHuang』,分享嵌入式軟硬件、單片機(jī)、物聯(lián)網(wǎng)等內(nèi)容。