ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Android 功耗---高通功耗问题分析方法--2 (转)

2022-09-13 11:34:11  阅读:263  来源: 互联网

标签:sys last kernel 功耗 --- -- VDD debug


本文结合该文档简单的总结了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 查看唤醒锁,哪个锁造成无法休眠
-----------------------------------

标签:sys,last,kernel,功耗,---,--,VDD,debug
来源: https://www.cnblogs.com/zxc2man/p/16688562.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有