高通官方提供了一篇文档extensive_power_debug_guide_(simplified_chinese功耗调试).pdf  用来分析中断功耗问题。

本文结合该文档简单的总结了AP端功耗问题分析手段。

首先是官方功耗分析流程图:

注意几个关键的名词:

Modem 调制解调器芯片

RPM  Resource Power Manager是高通MSM平台另外加的一块芯片,控制整个电源相关的shared resources

APSS 应用处理器子系统,就是平常我们说的AP

功耗问题一般分为低电流过高,或者异常唤醒造成。

本文只站在AP的角度分析功耗问题,也就是Android系统的角度。

低电流过高首先要验证系统是否进入了最低功耗状态。VDD最小状态。

mount -t debugfs none /sys/kernel/debug/

cat /sys/kernel/debug/rpm_stats 获取系统是否休眠。验证XO关闭和VDD最小化

RPM Mode:xosd

count:0

time in last mode(msec):0

time since last mode(sec):1275

actual last sleep(msec):0

client votes: 0x03030303

RPM Mode:vmin

count:0 //有计数则说明系统进入最低功耗状态

time in last mode(msec):0

time since last mode(sec):1275

actual last sleep(msec):0

client votes: 0x00000000

如果系统没有进入VDD最小状态,则要检查那一项阻止了终端进入VDD最小状态。

这一块主要查看RPM的外部日志。分析,略。

下面分析异常唤醒造成的功耗问题

查看AP端的异常唤醒源,查看modem那块的略过。

echo 1 >/sys/module/msm_show_resume_irq/parameters/debug_mask

echo "8 8 8 8">/proc/sys/kernel/printk

通过查看唤醒锁的状态主要查看active_since字段可以查看,哪个锁造成系统无法休眠。

总结:对于AP端判断功耗问题,一般从低电流状态判断。

排除方法:移除一些外部驱动程序,如sensor,tp,camera,LCD等。

cat /sys/kernel/debug/rpm_stats 获取系统是否休眠。验证XO关闭和VDD最小化

echo 1 >/sys/module/msm_show_resume_irq/parameters/debug_mask

查看log获取异常唤醒源

echo "8 8 8 8">/proc/sys/kernel/printk

adb shell cat/sys/kernel/debug/wakeup_sources > j:\777.txt 查看唤醒锁,哪个锁造成无法休眠。

高通功耗问题分析手段相关推荐

  1. Android 功耗(3)---高通功耗问题分析方法

    高通功耗问题分析 高通官方提供了一篇文档extensive_power_debug_guide_(simplified_chinese功耗调试).pdf  用来分析中断功耗问题. 本文结合该文档简单的 ...

  2. 高通android逆向分析,浅谈Android高通(Qualcomm)和联发科(MTK)平台

    一款CPU好不好是要从多个方面考虑的,并不是说简简单单看一个主频.几个核心数就完了,更重要的是它的综合实力到底有多强,这里面当然也会牵扯到价格问题,性能相似当然是便宜的获胜,这是毋庸置疑的. 事实上, ...

  3. 高通马达代码分析 msm_actuator

    1.概述 actuator驱动信息文件是指vendor目录下的$ActuatorName_actuator.h文件(如gigaset_actuator.h).此信息文件就是一个actuator_dri ...

  4. 高通camera驱动分析

    点击打开链接 1.Sensor slave配置 结构体msm_camera_sensor_slave_info定义在media/msm_cam_sensor.h中: struct msm_camera ...

  5. 高通平台smd分析及smem共享内存的创建笔记

    http://blog.csdn.net/whshiyun/article/details/79447959 转载于:https://www.cnblogs.com/RunnigGift/p/8581 ...

  6. 高通功耗优化调试7之DoU (Days of Usage)功耗调试

    1.DoU的目标应该基于基本的Power dashboard,在调试DoU之前请首先优化基本的Power User Case,确保 基本的Power dashboard达到目标 2.用户用例和操作流程 ...

  7. 高通camera调试

    高通camera驱动分析 ./qcom/proprietary/mm-still/codec_v1/omx/jpeg_encoder/Android.mk:15:CHROMATIX_VERSION : ...

  8. 高通WLAN稳定和功耗分析--WLAN功率测量

    功耗测试程序是基于在参考平台上执行功耗测量的方法. 具体来说,测量的是受控环境中WCSS和相关硬件的电池级功耗. ​ 测试场景 为消除以下功耗而进行的测试: ■ Application process ...

  9. linux驱动由浅入深系列:高通sensor架构实例分析之一

    点击打开链接 本系列导航: linux驱动由浅入深系列:高通sensor架构实例分析之一(整体概览+AP侧代码分析) linux驱动由浅入深系列:高通sensor架构实例分析之二(adsp驱动代码结构 ...

最新文章

  1. Android开发--图形图像与动画(二)--Animation实现图像的 渐变 缩放 位移 旋转
  2. 解决layui数据表格table固定列行高不一致的情况
  3. 前端工程师面试题JavaScript部分(第二季)
  4. dede中list标签php,dedecms标签中什么表示列表标签
  5. CentOS虚拟机不能联网状况下yum方式从本地安装软件包
  6. 【2019icpc南京站网络赛 - H】Holy Grail(最短路,spfa判负环)
  7. gulp-cli命令安装出错_Java Mac上的安装
  8. Java高级语法笔记-异常中finally的使用
  9. c语言综合作业答案,C语言作业答案
  10. 蓝牙 MultipeerConnectivity
  11. 寡头时代——新的希望还是?
  12. opencv+resize+padding+concate
  13. python加密模块教程_Python hashlib加密模块常用方法解析
  14. LeetCode 148 排序链表
  15. 图像处理之局部二值特征
  16. [leetcode]72. Edit Distance 最少编辑步数
  17. SpringBoot上传xlsx并批量导入
  18. 什么是ADB,什么是MC
  19. [LOCAL] 画画图(结论 + DP + 常数分析) | 错题本
  20. 【Arduino】wokwi在线编程仿真学习

热门文章

  1. 查看MYSQL中数据表占用的空间
  2. 如何避免自己被一些很久之前的烦心事所烦恼?
  3. 如何使用JQuery实现Js二级联动和三级联动
  4. 马保国靠耗子尾汁,到底赚了多少钱
  5. thinkphp5基础三
  6. 【总结】Clustered Sampling 小结
  7. 龙芯3B1500处理器参数介绍
  8. 笔记本电脑怎么恢复出厂设置?
  9. 为防双11系统崩盘,阿里P9架构师苦熬3个月终成亿级并发编程手册
  10. TextMate常见快捷键