0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux电源管理的组成与睡眠唤醒

麦辣鸡腿堡 来源:嵌入式Linux系统开发 作者:蜗窝科技 2023-09-11 15:54 次阅读

Linux 电源管理的组成

电源管理(Power Management)在 Linux Kernel 中,是一个比较庞大的子系统,涉及到供电(PowerSupply)、充电(Charger)、时钟(Clock)、频率(Frequency)、电压(Voltage)、睡眠/唤醒(Suspend/Resume)等方方面面。

图片

Generic PM 软件架构

图片

Generic PM 主要处理关机、重启、冬眠(Hibernate)、睡眠(Sleep,在 Kernel 中称作Suspend)。在内核中,大致可以分为三个软件层次:

API Layer,用于向用户空间提供接口,其中关机和重启的接口形式是系统调用,Hibernate 和 Suspend 的接口形式是sysfs。

PM Core,位于 /kernel/power/ 目录下,主要处理和硬件无关的核心逻辑。

PM Driver,分为两个部分,一是体系结构无关的 Driver,提供 Driver 框架(Framework)。另一部分是体系结构相关的Driver,这也是电源管理驱动开发需要涉及到的内容(图中红色边框的模块)。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电源
    +关注

    关注

    184

    文章

    17704

    浏览量

    249961
  • 嵌入式
    +关注

    关注

    5082

    文章

    19104

    浏览量

    304815
  • 电源管理
    +关注

    关注

    115

    文章

    6177

    浏览量

    144447
  • Linux
    +关注

    关注

    87

    文章

    11292

    浏览量

    209329
  • 软件
    +关注

    关注

    69

    文章

    4921

    浏览量

    87398
收藏 人收藏

    评论

    相关推荐

    Linux进程的睡眠唤醒

    Linux中,仅等待CPU时间的进程称为就绪进程,它们被放置在一个运行队列中,一个就绪进程的状 态标志位为 TASK_RUNNING。一旦一个运行中的进程时间片用完, Linux 内核的调度器会剥夺这个进程对CPU的控制权,并且从运行队列中选择一个合适的进程投入运行。
    发表于 06-07 12:26 476次阅读

    一文搞懂Linux进程的睡眠唤醒

    ): 进程在等待某个条件满足(如I/O操作),可以被信号唤醒Linux通过内核提供的系统调用来控制进程的睡眠。常用的系统调用有: sleep(): 使进程暂停指定的秒数。 usleep(): 使进程暂停
    发表于 11-04 15:15

    睡眠时的BOR/LPBOR无法唤醒

    。但我的意思是,如果棕色的持续时间很长,那么PIC通常会醒来吗?棕色是否会导致PIC无法正常唤醒或根本无法唤醒的情况?如果可能的话,那么我会在睡眠时也启用BOR。我可以在没有睡眠时启用
    发表于 10-12 14:46

    Linux电源管理由那几部分组成?

    Linux电源管理组成部分
    发表于 03-11 06:59

    AVR单片机电源管理是如何进入睡眠模式的

    AVR单片机电源管理是如何进入睡眠模式的?又是如何被唤醒的呢?
    发表于 11-02 09:03

    GD32进入深度睡眠后通过外部中断唤醒发现系统时钟变慢的原因

    一、问题1、进入深度睡眠后,通过外部中断唤醒,发现系统时钟变慢。2、进入休眠模式,通过任何中断唤醒,系统时钟正常。二、原因1、从电源管理章节
    发表于 01-26 07:43

    渐响式睡眠唤醒器电路图

    渐响式睡眠唤醒器电路图
    发表于 05-25 13:43 1494次阅读
    渐响式<b class='flag-5'>睡眠</b><b class='flag-5'>唤醒</b>器电路图

    Linux进程的睡眠唤醒

    设想有两个进程 A 和 B,A 进程正在处理一个链表,它需要检查这个链表是否为空,如果不空就对链表里面的数据进行一些操作,同时 B 进程也在往这个链表添加节点。当这个链表是空的时候,由于无数据可操作,这时 A 进程就进入睡眠,当 B 进程向链表里面添加了节点之后它就唤醒
    的头像 发表于 03-20 14:34 4352次阅读

    你知道Linux进程的睡眠唤醒操作?

    Linux 中的进程睡眠状态有两种:一种是可中断的睡眠状态,其状态标志位TASK_INTERRUPTIBLE;
    发表于 04-23 14:56 959次阅读
    你知道<b class='flag-5'>Linux</b>进程的<b class='flag-5'>睡眠</b>和<b class='flag-5'>唤醒</b>操作?

    LINUX电源管理

    Linux的系统suspend和resumeLinux内核 runtime_PM 框架Linux内核电源管理综述
    发表于 11-07 19:36 8次下载
    <b class='flag-5'>LINUX</b><b class='flag-5'>电源</b><b class='flag-5'>管理</b>

    GD32低功耗:深度睡眠唤醒系统时钟变慢问题

    一、问题1、进入深度睡眠后,通过外部中断唤醒,发现系统时钟变慢。2、进入休眠模式,通过任何中断唤醒,系统时钟正常。二、原因1、从电源管理章节
    发表于 12-02 15:06 21次下载
    GD32低功耗:深度<b class='flag-5'>睡眠</b><b class='flag-5'>唤醒</b>系统时钟变慢问题

    STM32 低功耗睡眠模式(SLEEP)事件(EVENT)唤醒实现及优化

    STM32 低功耗睡眠模式(SLEEP)事件(EVENT)唤醒实现及优化1. 介绍STM32具有多种低功耗模式,当前以STM32L4系列的低功耗模式最为丰富,此处基于STM32L476
    发表于 12-31 19:08 34次下载
    STM32 低功耗<b class='flag-5'>睡眠</b>模式(SLEEP)事件(EVENT)<b class='flag-5'>唤醒</b>实现及优化

    Linux电源管理研究笔记—动态电源管理 DPM

    Linux电源管理研究笔记—动态电源管理 DPM
    发表于 01-07 11:56 6次下载
    <b class='flag-5'>Linux</b><b class='flag-5'>电源</b><b class='flag-5'>管理</b>研究笔记—动态<b class='flag-5'>电源</b><b class='flag-5'>管理</b> DPM

    AN010 从深度睡眠模式2唤醒并恢复

    AN010 从深度睡眠模式2唤醒并恢复
    发表于 02-27 18:18 1次下载
    AN010 从深度<b class='flag-5'>睡眠</b>模式2<b class='flag-5'>唤醒</b>并恢复

    Linux系统 电源管理组成

    Linux 电源管理组成 电源管理(Power Management)在
    的头像 发表于 07-20 11:11 774次阅读
    <b class='flag-5'>Linux</b>系统 <b class='flag-5'>电源</b><b class='flag-5'>管理</b>的<b class='flag-5'>组成</b>