當一名嵌入式開發人員從裸機開發切換到 基於 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 此處為...