0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux電源管理的組成與睡眠喚醒

麥辣雞腿堡 ? 來(lái)源:嵌入式Linux系統(tǒng)開發(fā) ? 作者:蝸窩科技 ? 2023-09-11 15:54 ? 次閱讀

Linux 電源管理的組成

電源管理(Power Management)在 Linux Kernel 中,是一個(gè)比較龐大的子系統(tǒng),涉及到供電(PowerSupply)、充電(Charger)、時(shí)鐘(Clock)、頻率(Frequency)、電壓(Voltage)、睡眠/喚醒(Suspend/Resume)等方方面面。

圖片

Generic PM 軟件架構(gòu)

圖片

Generic PM 主要處理關(guān)機(jī)、重啟、冬眠(Hibernate)、睡眠(Sleep,在 Kernel 中稱作Suspend)。在內(nèi)核中,大致可以分為三個(gè)軟件層次:

API Layer,用于向用戶空間提供接口,其中關(guān)機(jī)和重啟的接口形式是系統(tǒng)調(diào)用,Hibernate 和 Suspend 的接口形式是sysfs。

PM Core,位于 /kernel/power/ 目錄下,主要處理和硬件無(wú)關(guān)的核心邏輯。

PM Driver,分為兩個(gè)部分,一是體系結(jié)構(gòu)無(wú)關(guān)的 Driver,提供 Driver 框架(Framework)。另一部分是體系結(jié)構(gòu)相關(guān)的Driver,這也是電源管理驅(qū)動(dòng)開發(fā)需要涉及到的內(nèi)容(圖中紅色邊框的模塊)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 電源
    +關(guān)注

    關(guān)注

    184

    文章

    17203

    瀏覽量

    247770
  • 嵌入式
    +關(guān)注

    關(guān)注

    5045

    文章

    18817

    瀏覽量

    298489
  • 電源管理
    +關(guān)注

    關(guān)注

    115

    文章

    6100

    瀏覽量

    143351
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11123

    瀏覽量

    207905
  • 軟件
    +關(guān)注

    關(guān)注

    69

    文章

    4570

    瀏覽量

    86696
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Linux進(jìn)程的睡眠喚醒

    Linux中,僅等待CPU時(shí)間的進(jìn)程稱為就緒進(jìn)程,它們被放置在一個(gè)運(yùn)行隊(duì)列中,一個(gè)就緒進(jìn)程的狀 態(tài)標(biāo)志位為 TASK_RUNNING。一旦一個(gè)運(yùn)行中的進(jìn)程時(shí)間片用完, Linux 內(nèi)核的調(diào)度器會(huì)剝奪這個(gè)進(jìn)程對(duì)CPU的控制權(quán),并且從運(yùn)行隊(duì)列中選擇一個(gè)合適的進(jìn)程投入運(yùn)行。
    發(fā)表于 06-07 12:26 ?391次閱讀

    如何設(shè)置以及喚醒stm32 ucos下睡眠?

    請(qǐng)教一下ucos進(jìn)入睡眠模式,是不是應(yīng)該先掛起所有任務(wù)然后進(jìn)入睡眠,還是直接進(jìn)入睡眠等待喚醒(等待喚醒任務(wù)是否還在執(zhí)行調(diào)度)?
    發(fā)表于 07-29 00:42

    睡眠時(shí)的BOR/LPBOR無(wú)法喚醒

    。但我的意思是,如果棕色的持續(xù)時(shí)間很長(zhǎng),那么PIC通常會(huì)醒來(lái)嗎?棕色是否會(huì)導(dǎo)致PIC無(wú)法正常喚醒或根本無(wú)法喚醒的情況?如果可能的話,那么我會(huì)在睡眠時(shí)也啟用BOR。我可以在沒(méi)有睡眠時(shí)啟用
    發(fā)表于 10-12 14:46

    Linux電源管理由那幾部分組成?

    Linux電源管理組成部分
    發(fā)表于 03-11 06:59

    AVR單片機(jī)電源管理是如何進(jìn)入睡眠模式的

    AVR單片機(jī)電源管理是如何進(jìn)入睡眠模式的?又是如何被喚醒的呢?
    發(fā)表于 11-02 09:03

    GD32進(jìn)入深度睡眠后通過(guò)外部中斷喚醒發(fā)現(xiàn)系統(tǒng)時(shí)鐘變慢的原因

    一、問(wèn)題1、進(jìn)入深度睡眠后,通過(guò)外部中斷喚醒,發(fā)現(xiàn)系統(tǒng)時(shí)鐘變慢。2、進(jìn)入休眠模式,通過(guò)任何中斷喚醒,系統(tǒng)時(shí)鐘正常。二、原因1、從電源管理章節(jié)
    發(fā)表于 01-26 07:43

    漸響式睡眠喚醒器電路圖

    漸響式睡眠喚醒器電路圖
    發(fā)表于 05-25 13:43 ?1463次閱讀
    漸響式<b class='flag-5'>睡眠</b><b class='flag-5'>喚醒</b>器電路圖

    Linux進(jìn)程的睡眠喚醒

    設(shè)想有兩個(gè)進(jìn)程 A 和 B,A 進(jìn)程正在處理一個(gè)鏈表,它需要檢查這個(gè)鏈表是否為空,如果不空就對(duì)鏈表里面的數(shù)據(jù)進(jìn)行一些操作,同時(shí) B 進(jìn)程也在往這個(gè)鏈表添加節(jié)點(diǎn)。當(dāng)這個(gè)鏈表是空的時(shí)候,由于無(wú)數(shù)據(jù)可操作,這時(shí) A 進(jìn)程就進(jìn)入睡眠,當(dāng) B 進(jìn)程向鏈表里面添加了節(jié)點(diǎn)之后它就喚醒
    的頭像 發(fā)表于 03-20 14:34 ?4282次閱讀

    你知道Linux進(jìn)程的睡眠喚醒操作?

    Linux 中的進(jìn)程睡眠狀態(tài)有兩種:一種是可中斷的睡眠狀態(tài),其狀態(tài)標(biāo)志位TASK_INTERRUPTIBLE;
    發(fā)表于 04-23 14:56 ?910次閱讀
    你知道<b class='flag-5'>Linux</b>進(jìn)程的<b class='flag-5'>睡眠</b>和<b class='flag-5'>喚醒</b>操作?

    LINUX電源管理

    Linux的系統(tǒng)suspend和resumeLinux內(nèi)核 runtime_PM 框架Linux內(nèi)核電源管理綜述
    發(fā)表于 11-07 19:36 ?8次下載
    <b class='flag-5'>LINUX</b><b class='flag-5'>電源</b><b class='flag-5'>管理</b>

    GD32低功耗:深度睡眠喚醒系統(tǒng)時(shí)鐘變慢問(wèn)題

    一、問(wèn)題1、進(jìn)入深度睡眠后,通過(guò)外部中斷喚醒,發(fā)現(xiàn)系統(tǒng)時(shí)鐘變慢。2、進(jìn)入休眠模式,通過(guò)任何中斷喚醒,系統(tǒng)時(shí)鐘正常。二、原因1、從電源管理章節(jié)
    發(fā)表于 12-02 15:06 ?21次下載
    GD32低功耗:深度<b class='flag-5'>睡眠</b><b class='flag-5'>喚醒</b>系統(tǒng)時(shí)鐘變慢問(wèn)題

    STM32 低功耗睡眠模式(SLEEP)事件(EVENT)喚醒實(shí)現(xiàn)及優(yōu)化

    STM32 低功耗睡眠模式(SLEEP)事件(EVENT)喚醒實(shí)現(xiàn)及優(yōu)化1. 介紹STM32具有多種低功耗模式,當(dāng)前以STM32L4系列的低功耗模式最為豐富,此處基于STM32L476
    發(fā)表于 12-31 19:08 ?34次下載
    STM32 低功耗<b class='flag-5'>睡眠</b>模式(SLEEP)事件(EVENT)<b class='flag-5'>喚醒</b>實(shí)現(xiàn)及優(yōu)化

    Linux電源管理研究筆記—?jiǎng)討B(tài)電源管理 DPM

    Linux電源管理研究筆記—?jiǎng)討B(tài)電源管理 DPM
    發(fā)表于 01-07 11:56 ?6次下載
    <b class='flag-5'>Linux</b><b class='flag-5'>電源</b><b class='flag-5'>管理</b>研究筆記—?jiǎng)討B(tài)<b class='flag-5'>電源</b><b class='flag-5'>管理</b> DPM

    AN010 從深度睡眠模式2喚醒并恢復(fù)

    AN010 從深度睡眠模式2喚醒并恢復(fù)
    發(fā)表于 02-27 18:18 ?1次下載
    AN010 從深度<b class='flag-5'>睡眠</b>模式2<b class='flag-5'>喚醒</b>并恢復(fù)

    Linux系統(tǒng) 電源管理組成

    Linux 電源管理組成 電源管理(Power Management)在
    的頭像 發(fā)表于 07-20 11:11 ?672次閱讀
    <b class='flag-5'>Linux</b>系統(tǒng) <b class='flag-5'>電源</b><b class='flag-5'>管理</b>的<b class='flag-5'>組成</b>