高通ap 源码分析_Android 功耗(3)---高通功耗问题分析方法

本文关注Android系统中高通AP的功耗问题,主要分析低电流过高和异常唤醒两个方面。首先,介绍了官方功耗分析流程和关键名词,如Modem、RPM和APSS。针对低电流过高,需要验证系统是否达到最低功耗状态,通过RPM的外部日志进行检查。然后,讨论了异常唤醒导致的功耗,通过查看唤醒锁状态确定问题来源。总结来说,AP端功耗问题判断通常从低电流状态入手,解决方法包括移除外部驱动,如sensor、tp、camera和LCD,并通过日志找出异常唤醒源。
摘要由CSDN通过智能技术生成

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

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

a6d26486b39f174e20dc47025914a5ea.png

注意几个关键的名词:

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:0time in last mode(msec):0time since last mode(sec):1275actual last sleep(msec):0client votes: 0x03030303 RPM Mode:vmin        count:0 //有计数则说明系统进入最低功耗状态time in last mode(msec):0time since last mode(sec):1275actual last sleep(msec):0client votes: 0x00000000

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

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

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

f5e7a8b932501be2229be445e92ef9e6.png

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

echo 1 >/sys/module/msm_show_resume_irq/parameters/debug_maskecho "8 8 8 8">/proc/sys/kernel/printk
c81e006b3e40d1d6d757e2f7994fe165.png

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

8cb2c1d088ada0804e888c771967bcbb.png
95d6b96579a3a740494ff7bfe42f0fb2.png

总结:对于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/printkadb shell cat/sys/kernel/debug/wakeup_sources > j:777.txt 查看唤醒锁,哪个锁造成无法休眠
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值