嵌入式Linux
嵌入式Linux電源管理結(jié)構(gòu)
Linux標(biāo)準(zhǔn)內(nèi)核標(biāo)準(zhǔn)電源管理有ACPI、APM等機(jī)制。這些機(jī)制依賴于PC機(jī)的BIOS功能實(shí)現(xiàn)。嵌入式系統(tǒng)一般都沒(méi)有實(shí)現(xiàn)BIOS支持,對(duì)其能耗管理機(jī)制需要進(jìn)行其他定義。消費(fèi)類電子產(chǎn)品聯(lián)盟-CELF對(duì)能耗管理作了定義,其框架如圖4所示。
CELF的能耗管理框架分為內(nèi)核層和用戶層。內(nèi)核層又劃分為體系結(jié)構(gòu)無(wú)關(guān)層和體系結(jié)構(gòu)相關(guān)層。體系結(jié)構(gòu)相關(guān)層主要提供可管理硬件支持,例如處理器電壓和運(yùn)行頻率調(diào)節(jié),各種總線運(yùn)行頻率管理,設(shè)備的關(guān)斷管理等。內(nèi)核體系結(jié)構(gòu)無(wú)關(guān)層在體系結(jié)構(gòu)相關(guān)層的基礎(chǔ)上為用戶層提供APIs,進(jìn)行各種能耗管理功能的支持。它包含一個(gè)能耗管理(PM)引擎,根據(jù)系統(tǒng)任務(wù)負(fù)載選擇系統(tǒng)運(yùn)行狀態(tài);提供能耗管理的掛起和恢復(fù)方法;提供VST技術(shù),通過(guò)估計(jì)下次準(zhǔn)確喚醒時(shí)間來(lái)確保在進(jìn)入深度睡眠時(shí),不被原來(lái)固定時(shí)間產(chǎn)生的定時(shí)器中斷喚醒;還包含了各種外部設(shè)備關(guān)閉/開啟的操作邏輯。
用戶通過(guò)編制具有一定智能的管理策略駐留程序,利用系統(tǒng)提供的能耗管理機(jī)制,進(jìn)行有效的系統(tǒng)能耗管理。
此外,在某些實(shí)現(xiàn)中,也可以將ACPI中的BIOS調(diào)用進(jìn)行映射,在內(nèi)核用軟件實(shí)現(xiàn)回調(diào)函數(shù),用以支持沒(méi)有BIOS的電源管理。
嵌入式Linux內(nèi)核電源管理實(shí)現(xiàn)分析
2.6內(nèi)核提供了一個(gè)電源管理框架,在其基礎(chǔ)之上容易實(shí)現(xiàn)各種電源管理規(guī)范,例如ACPI和APM規(guī)范。2.6內(nèi)核中的設(shè)備驅(qū)動(dòng)模型(Linux Driver Model,LDM)是內(nèi)核對(duì)電源管理基礎(chǔ)支持。Kobiect基本結(jié)構(gòu)嵌入到描述設(shè)備模型的組件的bus、devices、drivers結(jié)構(gòu)中。……