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