本文結合該檔案簡單的總結了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 查看喚醒鎖,哪個鎖造成無法休眠
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/210.html
標籤:嵌入式
下一篇:初級模擬電路:6-1 FET概述
