1、通用低功耗模式
如果使用通用低功耗模式的話每個(gè)滴答定時(shí)器中斷都會(huì)將處理器從低功耗模式中喚醒,以(1)為例,再 T2 時(shí)刻處理器從低功耗模式中喚醒,但是接下來由于沒有就緒的其他任務(wù)所以處理器又再一次進(jìn)入低功耗模式。T2、T3 和 T4 這三個(gè)時(shí)刻都一樣,反復(fù)的進(jìn)入低功耗、退出低功耗,最理想的情況應(yīng)該是從 T1 時(shí)刻就進(jìn)入低功耗,然后在 T5 時(shí)刻退出。
在(2)中空閑任務(wù)只工作了兩個(gè)時(shí)鐘節(jié)拍,但是也執(zhí)行了低功耗模式的進(jìn)入和退出,顯然這個(gè)意義不大,因?yàn)檫M(jìn)出低功耗也是需要時(shí)間的。
(3)中空閑任務(wù)在 T12 時(shí)刻被某個(gè)外部中斷喚醒,中斷的具體處理過程在任務(wù) 2(使用信號(hào)量實(shí)現(xiàn)中斷與任務(wù)之間的同步)。
2、低功耗 Tickless 模式
在(1)中的 T1 時(shí)刻處理器進(jìn)入低功耗模式,在 T5 時(shí)刻退出低功耗模式。相比通用低功耗模式少了 3 次進(jìn)出低功耗模式的操作。
在(2)中由于空閑任務(wù)只運(yùn)行了兩個(gè)時(shí)鐘節(jié)拍,所以就沒必要進(jìn)入低功耗模式。說明在Tickless 模式中只有空閑任務(wù)要運(yùn)行時(shí)間的超過某個(gè)最小閾值的時(shí)候才會(huì)進(jìn)入低功耗模式,此閾值通過 configEXPECTED_IDLE_TIME_BEFORE_SLEEP 來設(shè)置。
(3)中的情況和通用低功耗模式一樣。
可以看出相對(duì)與通用低功耗模式,FreeRTOS 自帶的 Tickless 模式更加合理有效,所以如果有低功耗設(shè)計(jì)需求的話大家盡量使用 FreeRTOS 再帶的 Tickless 模式。當(dāng)然了,如果對(duì)于功耗要求不嚴(yán)格的話通用低功耗模式也可以使用。
-
嵌入式
+關(guān)注
關(guān)注
5086文章
19144瀏覽量
306095 -
低功耗
+關(guān)注
關(guān)注
10文章
2408瀏覽量
103775 -
FreeRTOS
+關(guān)注
關(guān)注
12文章
484瀏覽量
62226
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論