某天,在某网站上看到一句话,“log开的好,问题都能搞”。

问题能不能都搞好不知道,不过log开的好,对分析问题的确有很大的帮助。

高通camx的日志主要分2大模块,UMD (user mode driver) 和KMD( kerner mode driver),也就是用户层和kernel层日志。

下面就来看下这2大块日志debug的时候该如何设置?

一、UDM日志

高通camx camera debug日志格式如下:

CamX: [][] :.

例子:CamX: [INFO][CORE] camxexamplefile:123 ExampleFunction()This is the message.

有2种方式可以设置日志打印开关:

第一种是在:/vendor/etc/camera/camxoverridesettings.txt 文件中进行配置;

另一种是通过adb命令设置prop属性:adb shell setprop

我们先看看下camx下都定义了哪些日志类型等级(如下图所示)。

Error等级的日志是默认输出的。

接下来再看下,设置各日志类型等级对应的相关属性。

例如:

我们需要打开Info级别的日志,那对应的就是设置logInfoMask属性值。

大家肯定还有疑问,camx里面有这么多模块,怎么去单独打开某个模块的日志呢?

好了,看下面表格,各个模块高通已经给我们定义好了,定义的代码在camx/src/utils/camxtypes.h里面

下面来举个具体的例子:

我需要打开camx里面ISP的Info级别的日志,怎么设?

对应上面的表格,CamxLogGroupISP 对应的值是 1<< 3,1<<3也就是 0x8;

而且从上面我们知道 info级别的日志,对应的属性是logInfoMask。

那很简单了,设置如下:

adb shell setprop persist.vendor.camera.logInfoMask 0x8

或:

adb root
adb remount
adb shell "echo logInfoMask=0x8 >> /vendor/etc/camera/camxoverridesettings.txt"

然后kill下camera 服务相关的进程,我们设置的内容就生效了。

二、KMD日志

例子:

我们需要打开 KMD里面 CAM_SENSOR and CAM_ICP 的调试日志, 怎么设?

adb root

adb remount

adb shell “echo 0x120 > /sys/module/cam_debug_util/parameters/debug_mdl”

adb shell cat /proc/kmsg > name_of_kmd_logs.txt

还是别人说的话,“在熟练掌握 UDM KDM 及 usecase 的 debug 流程之后,解起问题称心如意。如果不是这样,那一定是你的log 没加对,自省.”

高通 Camx debug log控制相关推荐

  1. 高通camx debug log 控制 及 UseCase pipeline debug(四)

    如题,log开的好,问题都能搞. Camera user mode driver (UMD) 出于调试目的,有两种方法可以覆盖相机驱动程序的默认设置 方法一: Push a configuration ...

  2. 高通Camx offline Log merge命令

    merge_text_logs.py in chi-cdk\tools\binary_log\merge_text_logs.py python merge_text_logs.py -o " ...

  3. 高通 Camx 架构了解下(二)

    和你一起终身学习,这里是程序员Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 一.Android Hal3回顾 二.Qcom Hal3 CamX架构 三.Qcom Hal3 Camx ...

  4. ws2812/6810 RGB灯带在高通芯片上的控制

    前段时间开发ws2812驱动.网上有一些参考,但是全部是在单片机上用pwm实现,估计是考虑实时性和时间高精度要求. 而我的项目的架构中,就只有一个高通的8939,并且只有一路pwm,还被红外ir给霸占 ...

  5. 关于高通CAMX架构下的AE调试的总结

    我于2021年夏开始学习camera tuning,至今大半年的时间了,做了一个8M的前置摄像头的调试.有些简单的调试心得与君分享,随着学习和工作的深入,还会持续更新这篇博文.若发现描述的不对的地方, ...

  6. 高通camx configure_streams 初始化 和 usecase 创建流程 详解(五)

    有参考: https://www.jianshu.com/p/cfb1da9d4217 思考:camera.provider中如何实现到camera hal层的跳跃 ? 之后上层是如何配置每个 str ...

  7. 高通QXDM抓log

    1.    所需要的软件 需要安装QPST和QXDM 2.    QXDM抓log (1)  USB连接到设备端 (2)  Load the QXDM Configurationfile (.dmc) ...

  8. 高通增加Adsp log( 三十)

    android audio 生产者与消费者 简介 全面接触生产者/消费者问题是在操作系统原理中,并发性原理讨论的问题 生产者/消费者问题.最近的工作偏向音频,接着上一篇文章,用生产者,消费者模型来理解 ...

  9. 高通平台 UART log 开启方法

    1  配置kernel  DTS 例如:  kernel\arch\arm\boot\dts\qcom\msm8909-mtp.dtsi,  配置status属性 okay.   同时检查DTS 确认 ...

最新文章

  1. 小程序弹窗并移动放大图片的动画效果
  2. linux yum安装分区工具,搭建本地和网络yum源、源码编译安装软件及磁盘分区管理...
  3. LINUX 使用tcgetattr函数与tcsetattr函数控制终端五
  4. shell条件测试操作 if分支 for循环 while 循环
  5. 基于OWL-S的Web服务质量本体的描述模式的设计(转)
  6. OpenCV基本的SIMD的实例(附完整代码)
  7. 安装注册数据库管理工具
  8. [Regular] 4、正则表达式的匹配原理原则
  9. Java获取resin端口_线上解决Resin服务响应过慢的几个方法
  10. 抓包分析数据帧中IP数据包的一些关键字段【南邮网课例题】
  11. 联系人姓名的多音字 处理
  12. 响应式2022英文企业官网源码,感觉挺有创意的
  13. Java解析JSON,按规则获取JSON节点内容
  14. 第10 章 量化的项目管理
  15. 主机安全 服务器windows
  16. 【目标检测】你想知道的手势识别都在这里 【YOLO】网络
  17. 运放技术——谐波失真THD
  18. 【学堂上新】Unity UGUI 渲染 3D 对象详解
  19. Spring Cloud 入门 ---- Security 整合 Oauth2 认证授权【随笔】
  20. vmwaretools与open-vm-tools都无法使用的解决方法

热门文章

  1. java在微信朋友圈中植入广告_微信朋友圈广告植入怎么做
  2. kuberntes集群不能解析service ip故障排查记录
  3. 系统繁忙 请稍后再试(ALI64)”
  4. 罗升阳 android系统源代码情景分析,Android系统源代码情景分析
  5. Android 多平台AR SDK 集成使用
  6. 安卓马赛克view_Android图形图像处理:马赛克(Mosaic)效果
  7. 2020-02-08
  8. 【LeetCode每日一题】1723. 完成所有工作的最短时间
  9. python scapy抓取http报文内容
  10. (轉貼) 太空探索/液態水存在?火星南極有廣大冰層 可能有生命 (News)