电源管理(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,这也是电源管理驱动开发需要涉及到的内容(图中红色边框的模块)。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
电源
+关注
关注
185文章
18979浏览量
264474 -
嵌入式
+关注
关注
5209文章
20645浏览量
336910 -
电源管理
+关注
关注
117文章
8540浏览量
148241 -
Linux
+关注
关注
88文章
11814浏览量
219527 -
软件
+关注
关注
69文章
5356浏览量
91876
发布评论请先 登录
相关推荐
热点推荐
Linux进程的睡眠和唤醒
在Linux中,仅等待CPU时间的进程称为就绪进程,它们被放置在一个运行队列中,一个就绪进程的状 态标志位为 TASK_RUNNING。一旦一个运行中的进程时间片用完, Linux 内核的调度器会剥夺这个进程对CPU的控制权,并且从运行队列中选择一个合适的进程投入运行。
发表于 06-07 12:26
•903次阅读
一文搞懂Linux进程的睡眠和唤醒
): 进程在等待某个条件满足(如I/O操作),可以被信号唤醒。
Linux通过内核提供的系统调用来控制进程的睡眠。常用的系统调用有:
sleep(): 使进程暂停指定的秒数。
usleep(): 使进程暂停
发表于 11-04 15:15
MCU典型的睡眠唤醒时间delay的概念
工作,这时器件就进入了正常工作模式。
这里我们重点分析一下这个唤醒delay的时间组成,在MCU系统唤醒中,如果我们对系统使能了在睡眠模式下的供电电压模块待机模式,则从待机到activ
发表于 11-25 08:03
睡眠时的BOR/LPBOR无法唤醒
。但我的意思是,如果棕色的持续时间很长,那么PIC通常会醒来吗?棕色是否会导致PIC无法正常唤醒或根本无法唤醒的情况?如果可能的话,那么我会在睡眠时也启用BOR。我可以在没有睡眠时启用
发表于 10-12 14:46
GD32进入深度睡眠后通过外部中断唤醒发现系统时钟变慢的原因
一、问题1、进入深度睡眠后,通过外部中断唤醒,发现系统时钟变慢。2、进入休眠模式,通过任何中断唤醒,系统时钟正常。二、原因1、从电源管理章节
发表于 01-26 07:43
Linux进程的睡眠和唤醒
设想有两个进程 A 和 B,A 进程正在处理一个链表,它需要检查这个链表是否为空,如果不空就对链表里面的数据进行一些操作,同时 B 进程也在往这个链表添加节点。当这个链表是空的时候,由于无数据可操作,这时 A 进程就进入睡眠,当 B 进程向链表里面添加了节点之后它就唤醒
你知道Linux进程的睡眠和唤醒操作?
Linux 中的进程睡眠状态有两种:一种是可中断的睡眠状态,其状态标志位TASK_INTERRUPTIBLE;
发表于 04-23 14:56
•1291次阅读
GD32低功耗:深度睡眠唤醒系统时钟变慢问题
一、问题1、进入深度睡眠后,通过外部中断唤醒,发现系统时钟变慢。2、进入休眠模式,通过任何中断唤醒,系统时钟正常。二、原因1、从电源管理章节
发表于 12-02 15:06
•21次下载
STM32 低功耗睡眠模式(SLEEP)事件(EVENT)唤醒实现及优化
STM32 低功耗睡眠模式(SLEEP)事件(EVENT)唤醒实现及优化1. 介绍STM32具有多种低功耗模式,当前以STM32L4系列的低功耗模式最为丰富,此处基于STM32L476
发表于 12-31 19:08
•36次下载
Linux电源管理的组成与睡眠唤醒
评论