1.Linux电源管理-休眠与唤醒】的更多相关文章

1.休眠方式 在内核中,休眠方式有很多种,可以通过下面命令查看 # cat /sys/power/state //来得到内核支持哪几种休眠方式. 常用的休眠方式有freeze,standby, mem, disk freeze:   冻结I/O设备,将它们置于低功耗状态,使处理器进入空闲状态,唤醒最快,耗电比其它standby, mem, disk方式高 standby:除了冻结I/O设备外,还会暂停系统,唤醒较快,耗电比其它 mem, disk方式高 mem:      将运行状态数据存到内存…
转自:https://www.cnblogs.com/lifexy/p/9629699.html 1.休眠方式 在内核中,休眠方式有很多种,可以通过下面命令查看 # cat /sys/power/state //来得到内核支持哪几种休眠方式. 常用的休眠方式有freeze,standby, mem, disk freeze:   冻结I/O设备,将它们置于低功耗状态,使处理器进入空闲状态,唤醒最快,耗电比其它standby, mem, disk方式高 standby:除了冻结I/O设备外,还会暂…
ARM linux电源管理——Cortex A系列CPU(32位)睡眠和唤醒的底层汇编实现 承接 http://www.wowotech.net/pm_subsystem/suspend_and_resume.html Linux电源管理(6)_Generic PM之Suspend功能一文中的下图. 本文主要分析平台相关的CPU睡眠和唤醒,即下电和上电流程,以及ARM底层汇编代码实现. 内核版本:3.1.0               CPU:ARM Cortex-A7 1 平台相关函数执行流程…
本系列将逐步介绍linux电源管理相关的知识,涉及到常见电源管理机制.linux电源管理机制.linux驱动中有关电源管理的相关接口.内核文档中关于Linux电源管理架构文档的分析.以下将以此来介绍相关内容,尽量做到通俗易懂,条理清晰. 电是现在社会的基础设施,它点亮了整个世界.随着移动互联网的盛行,各种智能设备层出不穷,各种CPU和大屏幕,都在不断折磨手机的电池,各种刺激的手游,也在压榨智能手机的电量.电池技术发展了这么多年,在没有新型储能材料发现之前,考虑到整体的重量和发热的可接受度,手机电…
转自:http://www.wowotech.net/pm_subsystem/wakeup_events_framework.html 1.  前言 本文继续“Linux电源管理(6)_Generic PM之Suspend功能”中有关suspend同步以及PM wakeup的话题.这个话题,是近几年Linux kernel最具争议的话题之一,在国外Linux开发论坛,经常可以看到围绕该话题的辩论.辩论的时间跨度和空间跨度可以持续很长,且无法达成一致. wakeup events framewo…
1. 前言 本文继续"Linux电源管理(6)_Generic PM之Suspend功能"中有关suspend同步以及PM wakeup的话题.这个话题,是近几年Linux kernel最具争议的话题之一,在国外Linux开发论坛,经常可以看到围绕该话题的辩论.辩论的时间跨度和空间跨度可以持续很长,且无法达成一致. wakeup events framework是这个话题的一个临时性的解决方案,包括wake lock.wakeup count.autosleep等机制.它们就是本文的话…
本文转载自:https://blog.csdn.net/wlsfling/article/details/46005409 1. 前言 Autosleep也是从Android wakelocks补丁集中演化而来的(Linux电源管理(9)_wakelocks),用于取代Android wakelocks中的自动休眠功能.它基于wakeup source实现,从代码逻辑上讲,autosleep是一个简单的功能,但背后却埋藏着一个值得深思的话题: 计算机的休眠(通常是STR.Standby.Hibe…
本文转载自:http://www.wowotech.net/pm_subsystem/pm_architecture.html 1. 前言 在这个世界中,任何系统的运转都需要能量.如树木依靠光能生长,如马儿依靠食物奔跑,如计算机系统依靠电能运行.而能量的获取是有成本的,因此如果能在保证系统运转的基础上,尽量节省对能量的消耗,就会大大提升该系统的生存竞争力.这方面,大自然已经做的很好了,如植物的落叶,如动物的冬眠,等等.而在计算机的世界里(这里以运行Linux OS的嵌入式系统为例),称作电源管理…
本文转载自:http://www.wowotech.net/pm_subsystem/std_str_func.html 1. 前言 Hibernate和Sleep两个功能是Linux Generic PM的核心功能,它们的目的是类似的:暂停使用——>保存上下文——>关闭系统以节电········>恢复系统——>恢复上下文——>继续使用. 本文以内核向用户空间提供的接口为突破口,从整体上对这两个功能进行介绍,并会在后续的文章中,分析它们的实现逻辑和执行动作. 顺便感概一下,虽…
本文转载自:http://www.wowotech.net/pm_subsystem/pm_interface.html 1. 前言 Linux电源管理中,相当多的部分是在处理Hibernate.Suspend.Runtime PM等功能.而这些功能都基于一套相似的逻辑,即“Power management interface”.该Interface的代码实现于“include/linux/pm.h”.“drivers/base/power/main.c”等文件中.主要功能是:对下,定义Devi…
1. 前言 wakelocks是一个有故事的功能. wakelocks最初出现在Android为linux kernel打的一个补丁集上,该补丁集实现了一个名称为"wakelocks"的系统调用,该系统调用允许调用者阻止系统进入低功耗模式(如idle.suspend等).同时,该补丁集更改了Linux kernel原生的电源管理执行过程(kernel/power/main.c中的state_show和state_store),转而执行自定义的state_show.state_store…
本文转载自:http://www.wowotech.net/pm_subsystem/generic_pm_architecture.html 1. 前言 这里的Generic PM,是蜗蜗自己起的名字,指Linux系统中那些常规的电源管理手段,包括关机(Power off).待机(Standby or Hibernate).重启(Reboot)等.这些手段是在嵌入式Linux普及之前的PC或者服务器时代使用的.在那个计算机科学的蛮荒时代,人类在摩尔定律的刺激下,孜孜追求的是计算机的计算能力.处…
一.开篇 1.Linux 描述的电源状态 - On(on)                                                 S0 -  Working - Standby (standby)                              S1 -  CPU and RAM are powered but not executed - Suspend to RAM(mem)                        S3 -  RAM is powe…
转自:http://www.cnblogs.com/sky-zhang/archive/2012/06/05/2536807.html PM notifier机制: 应用场景: There are some operations that subsystems or drivers may want to carry out before hibernation/suspend or after restore/resume, but they require the system to be…
转自:http://blog.csdn.net/haomcu/article/details/7398703 系统挂起(Suspend)是电源管理(APM&ACPI)的一个特性,给用户带来了很大的方便.Linux在2.6系列核心中对电源管理有了较好的支持,下面就谈谈Linux对系统挂起的支持情况. 另外有一篇介绍android和linux内核对电源管理的支持的比较,代码级别的:Linux Kernel and Android 休眠与唤醒(中文版) 一个网址是http://blog.csdn.ne…
转自:http://www.wowotech.net/pm_subsystem/rpm_overview.html 1. 前言 终于可以写Runtime PM(后面简称RPM)了,说实话,蜗蜗有点小激动.因为从个人的角度讲,我很推崇使用RPM进行日常的动态电源管理,而不是suspend机制. 软件工程的基本思想就是模块化:高内聚和低耦合.通俗地讲呢,就是“各人自扫门前雪”,尽量扫好自己的(高内聚),尽量不和别人交互(低耦合).而RPM正体现了这一思想:每个设备(包括CPU)都处理好自身的电源管理…
本文转载自:http://www.wowotech.net/pm_subsystem/reboot.html 1. 前言 在使用计算机的过程中,关机和重启是最先学会的两个操作.同样,这两个操作在Linux中也存在,称作shutdown和restart.这就是本文要描述的对象. 在Linux Kernel中,主流的shutdown和restart都是通过“reboot”系统调用(具体可参考kernel/sys.c)来实现的,这也是本文使用“Generic PM之Reboot过程”作为标题的原因.另…
前言 1.  什么是regulator?      regulator翻译为"调节器",分为voltage regulator(电压调节器)和current(电流调节器).一般电源管理芯片(Power Management IC)中会包含一个甚至多个regulator.   2.  regulator有什么作用?     通常的作用是给电子设备供电.大多数regulator可以启用(enable)和禁用(disable)其输出,同时也可以控制其输出电压(voltage)和电流(curr…
本文转载自:https://blog.csdn.net/zhouhuacai/article/details/78172267 版权声明:本文为博主原创文章,未经博主允许不得转载.    https://blog.csdn.net/zhouhuacai/article/details/78172267thermal子系统概述thermal子系统是内核提供的温控管理框架,一套软件温度解决方案,配合ic内部温度传感器,对ic温度进行管控,保证系统稳定性. thermal系统多用于对ic内部的重点发热…
1. Based on linux2.6.32,  only for mem(SDR) 2. 有兴趣请先参考阅读: 电源管理方案APM和ACPI比较.doc Linux系统的休眠与唤醒简介.doc 3. 本文先研究标准linux的休眠与唤醒,android对这部分的增改在另一篇文章中讨论 4. 基于手上的一个项目来讨论,这里只讨论共性的地方 虽然linux支持三种省电模式:standby.suspend to ram.suspend to disk,但是在使用电池供电的手持设备上,几乎所有的方案…
资料:http://blog.csdn.net/bingqingsuimeng/article/category/1228414http://os.chinaunix.net/a2006/0519/1002/000001002210.shtmlhttp://www.ednchina.com/ART_44010_29_0_TA_eeda337e_3.HTM?jumpto=view_welcomead_1408610592294 好文:http://blog.csdn.net/bingqingsui…
tar xjf u-boot-1.1.6.tar.bz2 cd u-boot-1.1.6 patch -p1 < ../u-boot-1.1.6_jz2440.patch make 100ask24x0_config 后面修改代码之后在从新制作补丁 (2440的第七章介绍了各种工作模式,250页介绍了如何进入sleep模式) (2440的手册上251页详细的介绍了如何唤醒sleep模式) 二. 给u-boot添加suspend命令(见cmd_suspend.c的do_suspend(),cmd_…
目录: <Linux中断管理> <Linux中断管理 (1)Linux中断管理机制> <Linux中断管理 (2)软中断和tasklet> <Linux中断管理 (3)workqueue工作队列> 关键词:GIC.IAR.EOI.SGI/PPI/SPI.中断映射.中断异常向量.中断上下文.内核中断线程.中断注册. 由于篇幅较大,简单梳理一下内容. 本章主要可以分为三大部分: 讲解硬件背景的1. ARM中断控制器. 系统初始化的静态过程:GIC初始化和各中断的…
转自:https://www.cnblogs.com/arnoldlu/p/8659981.html 目录: <Linux中断管理> <Linux中断管理 (1)Linux中断管理机制> <Linux中断管理 (2)软中断和tasklet> <Linux中断管理 (3)workqueue工作队列> 关键词:GIC.IAR.EOI.SGI/PPI/SPI.中断映射.中断异常向量.中断上下文.内核中断线程.中断注册. 由于篇幅较大,简单梳理一下内容. 本章主要可…
在Linux中,休眠主要分三个主要的步骤:(1)冻结用户态进程和内核态任务:(2)调用注册的设备的suspend的回调函数:(3)按照注册顺序休眠核心设备和使CPU进入休眠态.       冻结进程是内核把进程列表中所有的进程的状态都设置为停止,并且保存下所有进程的上下文.当这些进程被解冻的时候,他们是不知道自己被冻结过的,只是简单的继续执行.如何让Linux进入休眠呢?用户可以通过读写sys文件/sys /power/state 是实现控制系统进入休眠.比如: # echo standby >…
Android休眠与唤醒驱动流程分析 标准Linux休眠过程: powermanagement notifiers are executed with PM_SUSPEND_PREPARE tasksare frozen targetsystem sleep state is announced to the platform-handling code devicesare suspended platform-specificglobal suspend preparation method…
/*********************************************************************  * Author  : Samson  * Date    : 05/19/2014  * Test platform:  *              Mint 15-3.8.13.13  *              GNU bash, version 4.2.45  * ***************************************…
设备电源管理 Copyright (c) 2010 Rafael J. Wysocki<rjw@sisk.pl>, Novell Inc. Copyright (c) 2010 Alan Sternstern@rowland.harvard.edu ************************************************************* 本文由DroidPhone翻译于2011.8.5 *************************************…
实验一 CC2530平台上电源管理与休眠 实验目的: 加深和巩固学生对于TinyOS编程方法的理解和掌握 让学生初步的认识TinyOS编程的基础和简单的程序编写 学生通过本实验能够初步的了解和掌握TinyOS编程的整个过程 提高学生的上机和编程过程中处理具体问题的能力 实验要求: 实验要求自己独立的完成: 编写和调试过程中出现的问题要做好记录,并事后总结到报告中 实验程序调试完成后, 用给定的平台进行测试,由老师检查测试结果,并给予相应的成绩 在实验报告中回答LedsC,和Leds分别是什么.请…
线程通信.ActivityThread及Thread类是理解Android线程管理的关键. 线程,作为CPU调度资源的基本单位,在Android等针对嵌入式设备的操作系统中,有着非常重要和基础的作用.本小节主要从以下三个方面进行分析: <Android线程管理(一)--线程通信> <Android线程管理(二)--ActivityThread>  <Android线程管理(三)--Thread类的内部原理.休眠及唤醒> 三.Thread类的内部原理.休眠及唤醒 3.1…