FreeRTOS 臨界區總結

2021-08-07 15:11:39 字數 835 閱讀 6871

當一名嵌入式開發人員從裸機開發切換到 基於 freertos 的開發後就要注意 中斷,資源競爭等等問題了。

下面,總結一下 freertos 臨界區的知識及用法:

1. 應用程式使用臨界區

1.1 深入剖析的方法:

1.2 使用方法:

2. 中斷函式中臨界區

2.1 深入剖析的方法:

2.2 使用方法:

void tim6_dac_irqhandler( void )

3. 開關中斷:

vportraisebasepri() 與 vportsetbasepri(0) 的具體實現

static portforce_inline void vportsetbasepri( uint32_t ulbasepri )

}static portforce_inline uint32_t ulportraisebasepri( void )

return ulreturn;

}

FreeRTOS臨界區操作

進入臨界保護 支援巢狀 taskenter critical 退出臨界保護 支援巢狀 taskexit critical 中斷裡進入臨界保護 支援巢狀 taskenter critical from isr 中斷裡退出臨界保護 支援巢狀 taskexit critical from isr x 進入...

FreeRTOS臨界資源保護(臨界區保護)

臨界區未保護出現的異常 今天我們說說其中之一的原因 臨界資源未保護。我們先看個例子,假如有乙個5個節點單向鍊錶,如下結構 head 1 2 3 4 5 null 有一任務a在乙個單向鍊錶的2 3節點之間插入乙個新的2a節點,已經將2 2a,還未將2a 3,此時,鍊錶變為兩個未完整的部分,如下結構 h...

FreeRTOS臨界區相關函式

taskenter critical 和 taskexit critical 臨界區保護 實際上就是在taskenter critical 和taskexit critical 無法被中斷,常用在時序讀取一些感測器和晶元上 比如flash和eeprom上 taskenter critical 此處為...