高通相机调试命令和记录

本文列举了一系列用于调试Android设备上相机功能的adb命令,包括开启不同级别的log、调整AE设置、控制镜头、启用PDAF日志、关闭MCTF以及追踪CPU调度、频率、负载和内存使用情况。同时,还介绍了如何生成和合并offlinelog,以及使用systrace进行图形化性能分析。此外,还涉及到了GPU频率监控和相机库的编译等技术细节。
摘要由CSDN通过智能技术生成

开启相机log
adb root
adb shell setprop persist.vendor.camera.logInfoMask 0x1C080
adb shell setprop persist.vendor.camera.logVerboseMask 0x1C080
adb shell setprop persist.vendor.camera.logWarningMask 0xFFFFFFFF
adb shell setprop vendor.debug.camera.overrideLogLevels 0x1F
adb shell pkill provider*

adb shell logcat -G 256M
adb shell logcat –v threadtime -b main -b kernel -b crash > log.txt

vendor/qcom/proprietary/camx/src/utils/camxtypes.h


调整AE
adb root
adb shell setprop vendor.debug.camera.aelock.enable 1
adb shell setprop vendor.debug.camera.aelock.longgain 1
adb shell setprop vendor.debug.camera.aelock.safegain 1
adb shell setprop vendor.debug.camera.aelock.shortgain 1
adb shell setprop vendor.debug.camera.aelock.longexptime 120000
adb shell setprop vendor.debug.camera.aelock.safeexptime 120000
adb shell setprop vendor.debug.camera.aelock.shortexptime 120000

手动推lens
adb shell setprop vendor.debug.camera.af.manual 1
adb shell setprop vendor.debug.camera.af.ctrl.lenspos 900

开启PDAF log
adb shell setprop persist.vendor.camera.pdaf_logging 1

关闭MCTF
adb shell setprop persist.vendor.camera.enablemctf 0

开启 SOF, EOF, SOT, EOT IRQs log
adb shell “echo 0xf > /sys/kernel/debug/camera_ife/ife_csid_debug”
adb shell “echo 0xf > /sys/kernel/debug/camera_tfe/tfe_csid_debug”

hal收到数据的log
V4L_EVENT_CAM_REQ_MGR_SOF

offlinelog
生成的手机目录为:data/vendor/camera/offlinelog

开启offlineLog方法:
adb shell “echo enableAsciiLogging=1 >> vendor/etc/camera/camxoverridesettings.txt”

将offlinelog进行合并方法:一个python脚本,位于
vendor/qcom/proprietary/chi-cdk/tools/binary_log
merge_text_logs.py,通过-o参数指定输出文件目录,-d参数指定offlinelog的本地目录

Systrace的抓取
抓取脚本在安卓源码路径:external/chromium-trace/systrace.py
python systrace.py -o ~/systrace.html
python systrace.py --time=5 -o ~/systrace.html
python systrace.py --time=5 -o ~/trace.html sched gfx view wm

python systrace.py gfx input view sched am wm dalvik freq idle load sync workq power mmc disk –b 40000 –t 5 -o systrace.html
python systrace.py gfx sched am wm dalvik freq idle load sync workq power mmc disk camera hal res membus –b 40000 –t 10 -o output.html
python systrace.py gfx sched am wm dalvik freq idle load sync workq power mmc disk video audio hal res membus –b 40000 –t 10 -o output.html

1  sched    CPU Scheduling
2  freq     CPU frequency
3  load     CPU load
4  power    MSM power status
5  gfx      Graphics
6  input    Input
7  wm       Window Manager
8  am       Activity Manager 
9  view     View
10 dalvik   Dalvik VM (until KitKat release


内存
adb shell dumpsys meminfo PID
adb shell pmap -x PID
adb shell cat /proc/PID/smap

ION:
1、使用情况:adb shell cat /sys/kernel/debug/dma_buf/bufinfo

2、adb shell
cd /sys/kernel/debug/dma_buf
lsof | grep dma

3、各进程ion使用:adb shell cat /sys/kernel/debug/dma_buf/dmaprocs

4、开启ion的trace log:echo 1 > /sys/kernel/debug/tracing/events/ion/enable

5、log配置:
logInfoMask=0x20
enableMemoryStats=TRUE

sof freeze调试
UMD offline log and KMD log with following command
adb shell “echo 0x3 > /sys/kernel/debug/camera_ife/ife_csid_debug”
adb shell ‘echo 0x18 > /sys/module/cam_debug_util/parameters/debug_mdl’

Please boost IFE CLK with the command to see if this issue improved:
(1) Increase IFE CLK
adb shell “echo ifeClockFrequencyMHz=0xffffffff >> /vendor/etc/camera/camxoverridesettings.txt”
(2) Increase BW
adb shell “echo ifeCamnocBandwidthMBytes=0xFFFFFFFF >> /vendor/etc/camera/camxoverridesettings.txt”
adb shell “echo ifeExternalBandwidthMBytes=0xFFFFFFFF >> /vendor/etc/camera/camxoverridesettings.txt”"

区分效果参数
FillTuningModeData
vendor/qcom/proprietary/chi-cdk/core/chiutils/chxtils.cpp

解析symbol文件
项目中的addr2line路径:
prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin

aarch64-linux-android-addr2line -Cfe symbols/vendor/lib64/xxx.so 0000001294

调试记录
打印进程的backtrace:
adb shell “debuggerd -b `pidof android.hardware.camera.provider@2.4-service_64`”

获取camera数量:
frameworks/av/camera/CameraBase.cpp
getNumberOfCameras()

API1 过滤尺寸:
frameworks/av/services/camera/libcameraservice/api1/client2/Parameters.cpp
KEY_SUPPORTED_PREVIEW_SIZES
status_t Parameters::initialize(CameraDeviceBase *device, int deviceVersion) {

Gpu工作频率:
adb shell cat /sys/class/kgsl/kgsl-3d0/gpuclk
adb shell cat /sys/class/kgsl/kgsl-3d0/devfreq/cur_freq

Gpu最大、最小工作频率:
adb shell cat /sys/class/kgsl/kgsl-3d0/devfreq/max_freq
adb shell cat /sys/class/kgsl/kgsl-3d0/devfreq/min_freq

Gpu可用频率:
adb shell cat /sys/class/kgsl/kgsl-3d0/gpu_available_frequencies
adb shell cat /sys/class/kgsl/kgsl-3d0/devfreq/available_frequencies

CPU当前频率:
adb shell cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq

CPU性能模式:
adb shell “echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor”

CPU调度模式:
adb shell “echo schedutil > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor”

运行时查看MCLK:
adb shell cat sys/kernel/debug/clk/gcc_camss_mclk0_clk/measure

编译相机bin文件:
python buildbins.py --yaml-file-name=buildbins_xxx.yaml

编译单独库:
make com.qti.feature2.rt com.qti.feature2.generic com.qti.feature2.gs com.qti.chi.override -j8 2>&1 | tee build.log

编译骁龙相机:
cd vendor/codeaurora/packages/apps/SnapdragonCamera
mm

修改git编辑器 和 提交模板文件
git config core.editor “vim”
git config --global commit.template ~/CommitLog
 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值