Camera Debug

高通 Camx debug 日志打印控制

某天,在某网站上看到一句话,“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 

或:

adbroot 
adbremount
adbshell "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

《小驰行动派的知识星球》
————————————————


推荐阅读:

关于博主 

采用v4l2loopback来实现 虚拟Camera

Camera基础及一些基本概念

Android Camera 学习路线 | 个人推荐

Android Camera开发系列(干货满满)

Camera Hal|如何学习一个新平台

一篇文章带你了解Android 最新Camera框架

学习完Camera入门课程视频,可以去找工作了?

原创声明 本文由 Android相机开发 原创发布,未经许可禁止转载。作者:小驰。如果本文对你有帮助,欢迎分享转发。
欢迎扫码关注「小驰行动派」公众号 10 年Camera开发 | Camera技术干货 | 行业洞察 | Camera实战分享
小驰行动派公众号 扫一扫关注
分享到: 复制链接
← 上一篇 开源免费的直播推流工具,可实时视频推流、视频拉流

相关文章

推荐课程

想系统学习 Camera 开发?看看这些课程

评论 (0)

暂无评论,快来抢沙发吧