电源管理
文章平均质量分 69
zgolee
我要站在什么位置,才能触及阳光、感受幸福呢?
展开
-
标准linu休眠和唤醒机制分析(一)
<br />说明:<br />1. Based on linux2.6.32, only for mem(SDR)<br />2. 有兴趣请先参考阅读:电源管理方案APM和ACPI比较.doc<br />Linux系统的休眠与唤醒简介.doc<br />3. 本文先研究标准linux的休眠与唤醒,android对这部分的增改在另一篇文章中讨论<br />4. 基于手上的一个项目来讨论,这里只讨论共性的地方<br /> <br />虽然linux支持三种省电模式:standby、suspend to ram原创 2011-05-29 21:00:00 · 11634 阅读 · 5 评论 -
电源管理方案APM和ACPI比较
<br />APM和ACPI比较<br /><br /><br />近期对linux的电源管理产生了兴趣,索性来学习一下电源管理的东西。这不,遇到的一个问题就是这个:APM、ACPI两种电源管理方案有何异同?下面的东西全部来自于网络博文,当然有做一些整理。<br /><br /> <br />一、APM的不足和ACPI产生<br /><br /><br />APM全称是 Advanced Power Management(高级电源管理),他是一种基于BIOS的系统电源管理方案,它提供CPU和外设电源管理并通原创 2011-04-25 17:00:00 · 4069 阅读 · 1 评论 -
Android在标准linux基础上对休眠唤醒的实现(二)
<br />三、kernel层源码解析 - wakelock的重要地位<br />wakelock在android的休眠唤醒机制中扮演着及其重要的角色,主要源码位于文件:kernel/kernel/power/wakelock.c,kernel/include/linux/wakelock.h中。<br /> <br />wakelocks_init()函数所做的工作是整个wakelock可以工作起来的基础,所有这里先说说这个函数。<br />static int __init wakelocks_init原创 2011-05-29 21:33:00 · 14958 阅读 · 28 评论 -
新版linux系统设备架构中关于电源管理方式的变更
<br />新版linux系统设备架构中关于电源管理方式的变更<br />based on linux-2.6.32<br /> <br />一、设备模型各数据结构中电源管理的部分<br /> linux的设备模型通过诸多结构体来联合描述,如struct device,struct device_type,struct class,<br />struct device_driver,struct bus_type等。<br /> <br /> @kernel/include/linux/device原创 2011-05-29 21:21:00 · 9914 阅读 · 0 评论 -
Android在标准linux基础上对休眠唤醒的实现(三)
<br />四、android层源码解析<br />在linux之上经过android的软件堆层层封装,最终在上层的java应用程序中使用。休眠唤醒也是从最上层发出的命令,然后一层一层地将参数解析,往最底层传,最后走上标准linux的休眠唤醒之路。<br /> 这一部分将会初略分析休眠唤醒机制上linux之上所走的路线。<br /> <br /> 在linux之上,存在一个hal层,专门做和linux内核设备打交道的事情,这里也不例外。休眠唤醒机制的hal层源码位于:@h原创 2011-05-29 21:40:00 · 10948 阅读 · 9 评论 -
Android在标准linux基础上对休眠唤醒的实现(一)
<br />说明:<br />1. Based on linux 2.6.32 and android 2.2,only support SDR(mem).<br />2. 参考文章:<br />http://2695477.blog.51cto.com/blog/2685477/484751<br />http://www.docin.com/p-115475680.html<br />http://blogold.chinaunix.net/u3/113927/showart_2447111.html<原创 2011-05-29 21:29:00 · 17141 阅读 · 29 评论 -
标准linu休眠和唤醒机制分析(三)
<br />五、suspend和resume代码走读<br /> <br />下面对suspend分的几个阶段都是按照pm test的5中模式来划分的:freezer、devices、platform、processors、core。<br />suspend第一阶段:freezer<br />int enter_state(suspend_state_t state)<br />{<br /> int error;<br /> <br /> if (!valid_state(原创 2011-05-29 21:08:00 · 7897 阅读 · 1 评论 -
标准linu休眠和唤醒机制分析(二)
<br /> <br />三、pm_test属性文件读写<br />int pm_test_level = TEST_NONE;<br /> <br />static const char * const pm_tests[__TEST_AFTER_LAST] = {<br /> [TEST_NONE] = "none",<br /> [TEST_CORE] = "core",<br /> [TEST_CPUS] = "processors",<br />原创 2011-05-29 21:04:00 · 8993 阅读 · 5 评论 -
标准linu休眠和唤醒机制分析(四)
<br />suspend第三、四、五阶段:platform、processor、core<br />static int suspend_enter(suspend_state_t state)<br />{<br /> int error;<br /> <br /> if (suspend_ops->prepare) {<br /> // 平台特定的函数,mtkpm.c, 有定义,对pmic和cpu dll的一些设置<br /> error = susp原创 2011-05-29 21:13:00 · 7680 阅读 · 0 评论 -
Linux系统的休眠与唤醒简介
<br />转文地址:http://blog.163.com/jiaguang3010717@126/blog/static/1268082432010310103037253/<br /><br />系统挂起(Suspend)是电源管理(APM&ACPI)的一个特性,给用户带来了很大的方便。Linux在2.6系列核心中对电源管理有了较好的支持,下面就谈谈Linux对系统挂起的支持情况。<br />Linux对系统挂起的支持<br /> Linux同时提供了对APM和ACPI的支持,当时两者是不兼容的,同转载 2011-04-25 17:35:00 · 17777 阅读 · 0 评论