系統(tǒng)休眠喚醒技術(shù)是電源管理中的關(guān)鍵技術(shù)。它允許系統(tǒng)在閑置時(shí)將功耗降至最低,將外部設(shè)備、芯片內(nèi)部IP和時(shí)鐘置于低功耗狀態(tài)或完全關(guān)閉電源狀態(tài),以極大地延長續(xù)航時(shí)間。此外,在用戶需要時(shí),系統(tǒng)也能夠迅速恢復(fù)電源、時(shí)鐘、芯片內(nèi)部IP以及外部設(shè)備的工作狀態(tài),確保用戶的使用體驗(yàn)不受干擾。
飛凌嵌入式OK113i-S開發(fā)板支持兩種休眠方式:freeze和mem。這兩種方式可以通過/sys/power/state文件節(jié)點(diǎn)進(jìn)行操作,用戶可以通過在該文件節(jié)點(diǎn)寫入freeze或mem來觸發(fā)相應(yīng)的休眠狀態(tài)。
在進(jìn)行休眠之前,系統(tǒng)會配置喚醒源。一旦系統(tǒng)進(jìn)入休眠狀態(tài),可以通過這些喚醒源(如按鍵、RTC等)在需要時(shí)喚醒系統(tǒng)。這種設(shè)計(jì)允許用戶根據(jù)需要選擇何時(shí)以及通過何種方式快速喚醒系統(tǒng),實(shí)現(xiàn)了功耗最小化和快速恢復(fù)的平衡。這一機(jī)制使得系統(tǒng)在休眠狀態(tài)下能夠極大地減少功耗,同時(shí)保留了用戶在喚醒后迅速使用系統(tǒng)的便利性。
本篇內(nèi)容小編會為大家介紹如何讓飛凌嵌入式OK113i-S開發(fā)板進(jìn)入休眠模式,以及如何通過RTC時(shí)鐘實(shí)現(xiàn)定時(shí)喚醒。
1、關(guān)于兩種休眠模式
freeze
凍結(jié)I/O設(shè)備,將它們置于低功耗狀態(tài),使處理器進(jìn)入空閑狀態(tài),喚醒最快,耗電比其它方式高。實(shí)測OK113i-S開發(fā)板在只接串口線的情況下5V供電,電流約為0.112A。
mem
掛起到內(nèi)存,計(jì)算機(jī)將目前的運(yùn)行狀態(tài)等數(shù)據(jù)存放在內(nèi)存,關(guān)閉硬盤、外設(shè)等設(shè)備,進(jìn)入等待狀態(tài)。此時(shí)內(nèi)存仍然需要電力維持其數(shù)據(jù),但整機(jī)耗電很少?;謴?fù)時(shí)計(jì)算機(jī)從內(nèi)存讀出數(shù)據(jù),回到掛起前的狀態(tài),恢復(fù)速度較快。實(shí)測OK113i-S開發(fā)板在只接串口線情況下5V供電,電流約為0.076A。
(1)cat /sys/power/state可以看到OK113i-S開發(fā)板支持的模式有哪些:
(2)echo freeze > /sys/power/state 進(jìn)入freeze模式:
(3)echo mem > /sys/power/state 進(jìn)入mem模式:
2 、通過RTC定時(shí)喚醒
注意:此處需要使用內(nèi)部RTC,外部RTC不支持喚醒功能,后面我們還會提及。
進(jìn)入開發(fā)板的內(nèi)核配置:
root@ubuntu: /home/forlinx/work/linux/OK113i-linux-sdk# ./build.sh menuconfig
根據(jù)下圖框選進(jìn)行功能選擇:
配置完成后保存,然后修改設(shè)備樹文件,打開內(nèi)部RTC功能。
保存后進(jìn)行編譯:
編譯成功后打包成鏡像,燒寫完成后,我們在串口終端進(jìn)行測試。
進(jìn)入串口終端進(jìn)行測試:
echo “+15”> /sys/class/rtc/rtc0/wakealarm
此處為15秒定時(shí),可自由設(shè)置時(shí)間,命令執(zhí)行后就會生效,RTC會單獨(dú)計(jì)時(shí),如果是15秒后才進(jìn)入休眠,不會觸發(fā)喚醒。(注意此處需要使用內(nèi)部RTC,外部RTC不支持喚醒功能)
echo mem > /sys/power/state
(這里兩條指令輸入時(shí)要緊湊,兩條指令間,間隔太長就無效了)
(這里需要注意,我們在未打開內(nèi)部RTC時(shí),我們的外部RTC默認(rèn)節(jié)點(diǎn)是rtc0,修改后外部rtc設(shè)備節(jié)點(diǎn)會變更成rtc1。)
到這里,我們就完成了在飛凌嵌入式OK113i-S開發(fā)板上實(shí)現(xiàn)休眠以及通過RTC定時(shí)喚醒的全部操作了,當(dāng)然,不同的主控平臺板卡的具體操作會有差異,但是整體思路是一樣的,具體可以根據(jù)相對應(yīng)的平臺查看相關(guān)資料來確定具體步驟,希望本文提供的方法能夠?qū)ζ聊磺暗?a target="_blank">工程師朋友們的項(xiàng)目開發(fā)有所幫助。
-
嵌入式
+關(guān)注
關(guān)注
5082文章
19104瀏覽量
304784 -
電源管理
+關(guān)注
關(guān)注
115文章
6177瀏覽量
144438 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5032瀏覽量
97371 -
休眠喚醒
+關(guān)注
關(guān)注
0文章
8瀏覽量
7552
發(fā)布評論請先 登錄
相關(guān)推薦
評論