Android功耗调试汇总

1. 工具准备

1.1 安装QXDM
1.2 安装QPST(确认DCVS 使能时需要查看efs 文件,下载nv 也需要使用QPST)
1.3 电流源(带GPIB 卡接口)/电流测试软件

测试环境相关 :
◆ 电流表或数字电源本身的电流误差是多少,并保证其工作正常,感觉有问题时,可以换表尝试
◆ 要正确设置DRX、MFRM、T3212等参数,可以参考高通文档80-VE263-8
◆ 综测仪分CMU200、Agilent 8960等多个厂家型号,可以判断一下是否综测仪相关
◆ 在屏蔽房内和屏蔽房外分别进行测试,看是否有所区别

高通文档参考:
◆《80-P0955-1SC_功耗调试通用指南》
  很详细的功耗debug 中文手册,里面有各种case debug的步骤,以及如何来抓取各种 log 。功耗优化的必备资料。
◆《80 -P0956 -1》Android功耗概述
◆《80-N6837-1_M_Power_Consumption_Measurement_MSM_Android_MDM_Devices》
◆《80-NL239-48_POWER CONSUMPTION OPTIMIZATION AND DEBUGGING FOR MSM8916 DEVICES》
◆《80-N9858-1_MODEM POWER CONSUMPTION DEBUGGING METHODS》



2. 测试机设置

2.1 NV 项设置
需要修改的NV项设置如下:
在这里插入图片描述
2.2 禁掉netstats 功能
To disable the data monitor “Netstats” for Jelly Bean(JB)/Ice Cream Sanwich(ICS):
◆ 打开ADB shell,输入如下命令:
adb shell ndc bandwidth disable
◆ 检查data monitor是否已经关闭:
adb shell iptables -L
显示如下:
在这里插入图片描述
2.3 编译performance boot 版本
保证禁掉了所有的debug 和logging 功能。在编译release 版本
时内核配置文件应选用“perf_defconfig”替换“defconfig”文件,或者在“defconfig”文件中删
除debug 调试相关的宏定义。
Remove “Debug” features
Double check if “CORESIGHT” config is removed
Double check if “CONFIG_MSM_DEBUG_LAR_UNLOCK” config is removed

2.4 删除不必要的高频率的调试打印日志
设置串口打印等级:
echo 8 > /proc/sys/kernel/printk 并查看是否生效:
cat /proc/sys/kernel/printk
8 6 1 7

2.5 在国内测试电流需要首先排除GMS 的影响
由于国内GMS 连接不上Google 服务,GMS 一直持有wakelock锁不释放,这会导致手机的待机电流偏高。需要在测试前连接专门网络(如CTS/GTS WIFI),同步Google 账号后,查看电流是否降到3mA 左右。VPN 连接成功后,状态栏会显示小锁。

2.6 RBCPR feature
RBCPR feature对功耗非常重要,请确保测试功耗的版本里面没有禁止掉VDD_APC, VDD_CX, VDD_MX, VDD_MODEM CPR feature。具体检查方法请查看《功耗调试通用指南》“ 如何确认CPR 工作状态” 章节。



3. 调试过程

3.1 底电流

3.1.1 分析底电流波形

波形分析对功耗调试至关重要,能够提供问题的本质和正确的调试方向的信息。

底电流波形主要分为以下两个部分:
◆ 基底电流:系统处于XO关闭和VDD最小化时的最小电流,此时XO是关闭的,各路LDO电处于最小化的状态。
◆ 唤醒,例如电量计唤醒和PMIC看门狗唤醒
下图是捕捉自MSM8994芯片组的底电流用例波形的快照。
在这里插入图片描述
将捕捉的底电流波形与高通的QTI参考波形相比较,从而确定底电流是否较高,并且/或者是否出现异常唤醒。

3.1.2 验证系统是否进入XO关闭和VDD最小化

XO关闭和VDD最小化计数的adb shell命令有如下两种方式:
■ 输入以下命令获取RPM状态数据:
mount -t debugfs none /sys/kernel/debug
cat /sys/kernel/debug/rpm_stats (OR) cat /d/rpm_stats
cat /sys/kernel/debug/rpm_master_stats (OR) cat /d/rpm_master_stats

<
  • 2
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
分析APSS子系统不休眠的具体步骤可以按照以下方式进行: 1. 收集信息: - 确认APSS子系统的具体硬件配置和驱动程序版本。 - 查看系统日志,特别是与APSS子系统相关的日志,以了解任何错误或警告信息。 - 收集其他相关的系统信息,例如操作系统版本、应用程序列表等。 2. 检查电源管理设置: - 确保操作系统的电源管理设置正确配置,以便允许APSS子系统进入休眠状态。 - 检查设备驱动程序是否支持电源管理功能,并更新到最新版本。 3. 检查应用程序和进程: - 检查正在运行的应用程序和进程,确定是否有某个应用程序或进程阻止了APSS子系统进入休眠状态。 - 尝试关闭或卸载可能有影响的应用程序,并观察是否解决了问题。 4. 使用调试工具: - 使用系统调试工具来检查系统状态和进程,以确定是否有其他因素导致APSS子系统不休眠。 - 可以使用性能监视器、任务管理器或其他调试工具来检查CPU、内存、磁盘等资源的使用情况。 5. 检查硬件故障: - 检查硬件设备是否存在故障或损坏,例如电源供应问题、电缆连接问题等。 - 可以尝试更换或修复相关硬件设备,然后再次测试。 6. 更新驱动程序和固件: - 确保所有相关的驱动程序和固件都是最新版本。可以访问设备制造商的官方网站来获取最新的驱动程序和固件更新。 7. 寻求专业帮助: - 如果以上步骤无法解决问题,可以咨询设备制造商、操作系统提供商或其他专业技术支持人员,以获取更深入的分析和解决方案。 请注意,以上步骤仅供参考,具体的分析步骤可能因系统配置和环境而异。在进行任何更改之前,请确保备份重要数据,并小心操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

归心2020

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值