- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Android电源管理内核模块总体框架2初始化与接口模块4early suspend/late resume模块8Early suspend/late resume概述8Early suspend/late resume流程9流程1 :创建earlysuspend的核心工作队列线程suspend_work_queue10流程2 :系统启动完成后,相关的驱动程序通过register_early_suspend()函数注册了early suspend/lateresume特性10流程 3:用户空间,通过调用set_screen_state函数来触发suspend的流程13流程 4:先valid_state()一下,这给了平台相关的代码一个机会确认该平台是否支持所请求的电源状态13流程 5:调用request_suspend_state()函数13流程 6:early_suspend()完成最主要工作13Wakelock模块14Suspend 及平台相关驱动模块14参考资料17Android电源管理内核模块总体框架Android电源管理内核模块,主要是由以下几个基本模块组成,详细分析如下:电源管理内核模块总体组成电源管理内核模块总体组成图电源管理内核模块从功能角度出发,各模块关系示意图如下:电源管理内核模块各模块关系示意图1简单说明:内核空间提供3个sys接口,即加锁,解锁,休眠唤醒,当所有的锁解开的时候,会执行标准linux的suspend.ealry_suspend: 设备:触摸屏,按键,gpu,电子罗盘,摄像头,led,wifi等linux suspend设备:usb cpu 总线等。电源管理内核模块各模块关系示意图2初始化与接口模块主要涉及文件:66/lxr-0709/source/kernel/common/kernel/power/main.c?v=android-4.0.4/kernel/power/main.c;66/lxr-0709/source/kernel/common/kernel/power/userwakelock.c?v=android-4.0.4/kernel/power/userwakelock.c在kernel/power/main.c中,定义了一组sysfs的属性文件,其中一个定义是:power_attr(state);//line215把这个宏展开后:kernel/power/main.h line65----73static struct kobj_attribute state_attr = { \?.attr ={ \?.name = state, \?.mode = 0644, \?}, \?.show =state_show, \.store =state_store, \?}源码位置:kernel/power/main.c在此文件中,定义了一组sysfs的属性文件,并且main.c的入口:static int __init pm_init(void)?{?......?power_kobj =kobject_create_and_add(power, NULL);?......?}?core_initcall(pm_init);?函数执行后,会在生成/sys/power目录,该目录下会建立一系列属性文件,其中一个就是/sys/power/state文件.从core_initcall(pm_init))可以知道:函数在初始化时被执行关于此函数可见[1],同样,我们从main.c中可以看到,/sys/power目录下应该还有的属性文件有:如果内核:#ifdef CONFIG_PM_SLEEPpower_attr(pm_async);//line 70则有:/sys/power/pm_async功能:cat/sys/power/pm_async用于判断当前设备的suspend、resume操作是否是同步操作echo/sys/power/pm_async用于控制是否异步的执行设备的suspend、resume操作#ifdef CONFIG_USER_WAKELOCKpower_attr(wake_lock);power_attr(wake_unlock);#endif则有:/sys/power/wake_lock,sys/power/unwake_lock文件注意其对应的SHOW与STORE功能实现函数在://66/lxr-0709/source/kernel/common/kernel/power/userwakelock.c?v=android-4.0.4kernel/power/userwakelock.c功能:cat/sys/power/wake_lock查看系统的wake loc
您可能关注的文档
- 电影之《公民凯恩》《独臂刀》《星球大战》.ppt
- 电影制作的六大秘诀.pptx
- 电影制作的15个黄金法则.pptx
- 电影功夫炒作鑫享停售.ppt
- 电影叙述方式的演变.pptx
- 电工作业安全技术-201408.ppt
- 电影场景的搭建.ppt
- 电影场记单模版.doc
- 电影制片人融资计划——三、电影.ppt
- 电子科大光学实验报告.doc
- 场地脚手架工程施工方案(3篇).docx
- 2024年浙江省丽水市松阳县玉岩镇招聘社区工作者真题及参考答案详解一套.docx
- 2024年河南省郑州市惠济区古荥镇招聘社区工作者真题及答案详解一套.docx
- 2024年浙江省杭州市淳安县文昌镇招聘社区工作者真题及完整答案详解1套.docx
- 2024年浙江省台州市三门县小雄镇招聘社区工作者真题带答案详解.docx
- 2024年浙江省宁波市余姚市河姆渡镇招聘社区工作者真题及完整答案详解1套.docx
- 2024年浙江省丽水市景宁畲族自治县雁溪乡招聘社区工作者真题及答案详解一套.docx
- 2024年浙江省杭州市临安市板桥乡招聘社区工作者真题及答案详解一套.docx
- 2024年湖北省宜昌市点军区土城乡招聘社区工作者真题及答案详解一套.docx
- 2024年浙江省台州市路桥区桐屿街道招聘社区工作者真题附答案详解.docx
最近下载
- ansys结构声振耦合解决方案.pptx VIP
- ANSYS系统仿真与数字孪生解决方案.pptx VIP
- 第17课 电脑动画 教案 人教版 美术 五年级上册.docx VIP
- 湖北省黄冈市2025年八年级上学期1月期末英语试题(含答案).docx VIP
- 娱乐先锋II_高级KTV系统.pdf VIP
- 汽车软件简介演示.pptx VIP
- 水处理大法聚二甲基二烯丙基氯化铵在给水除藻中的作用应用的探讨.doc VIP
- 2026龙飞平面图形推理基础理论➕百大图形3.0版本.pdf VIP
- 连云港“高质发展、后发先至”-全面建设连云港小康社会继续教育题库及.pdf VIP
- 水污染控制工程第11章.ppt VIP
文档评论(0)