高通 Camx debug log控制
某天,在某网站上看到一句话,“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控制相关推荐
- 高通camx debug log 控制 及 UseCase pipeline debug(四)
如题,log开的好,问题都能搞. Camera user mode driver (UMD) 出于调试目的,有两种方法可以覆盖相机驱动程序的默认设置 方法一: Push a configuration ...
- 高通Camx offline Log merge命令
merge_text_logs.py in chi-cdk\tools\binary_log\merge_text_logs.py python merge_text_logs.py -o " ...
- 高通 Camx 架构了解下(二)
和你一起终身学习,这里是程序员Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 一.Android Hal3回顾 二.Qcom Hal3 CamX架构 三.Qcom Hal3 Camx ...
- ws2812/6810 RGB灯带在高通芯片上的控制
前段时间开发ws2812驱动.网上有一些参考,但是全部是在单片机上用pwm实现,估计是考虑实时性和时间高精度要求. 而我的项目的架构中,就只有一个高通的8939,并且只有一路pwm,还被红外ir给霸占 ...
- 关于高通CAMX架构下的AE调试的总结
我于2021年夏开始学习camera tuning,至今大半年的时间了,做了一个8M的前置摄像头的调试.有些简单的调试心得与君分享,随着学习和工作的深入,还会持续更新这篇博文.若发现描述的不对的地方, ...
- 高通camx configure_streams 初始化 和 usecase 创建流程 详解(五)
有参考: https://www.jianshu.com/p/cfb1da9d4217 思考:camera.provider中如何实现到camera hal层的跳跃 ? 之后上层是如何配置每个 str ...
- 高通QXDM抓log
1. 所需要的软件 需要安装QPST和QXDM 2. QXDM抓log (1) USB连接到设备端 (2) Load the QXDM Configurationfile (.dmc) ...
- 高通增加Adsp log( 三十)
android audio 生产者与消费者 简介 全面接触生产者/消费者问题是在操作系统原理中,并发性原理讨论的问题 生产者/消费者问题.最近的工作偏向音频,接着上一篇文章,用生产者,消费者模型来理解 ...
- 高通平台 UART log 开启方法
1 配置kernel DTS 例如: kernel\arch\arm\boot\dts\qcom\msm8909-mtp.dtsi, 配置status属性 okay. 同时检查DTS 确认 ...
最新文章
- 小程序弹窗并移动放大图片的动画效果
- linux yum安装分区工具,搭建本地和网络yum源、源码编译安装软件及磁盘分区管理...
- LINUX 使用tcgetattr函数与tcsetattr函数控制终端五
- shell条件测试操作 if分支 for循环 while 循环
- 基于OWL-S的Web服务质量本体的描述模式的设计(转)
- OpenCV基本的SIMD的实例(附完整代码)
- 安装注册数据库管理工具
- [Regular] 4、正则表达式的匹配原理原则
- Java获取resin端口_线上解决Resin服务响应过慢的几个方法
- 抓包分析数据帧中IP数据包的一些关键字段【南邮网课例题】
- 联系人姓名的多音字 处理
- 响应式2022英文企业官网源码,感觉挺有创意的
- Java解析JSON,按规则获取JSON节点内容
- 第10 章 量化的项目管理
- 主机安全 服务器windows
- 【目标检测】你想知道的手势识别都在这里 【YOLO】网络
- 运放技术——谐波失真THD
- 【学堂上新】Unity UGUI 渲染 3D 对象详解
- Spring Cloud 入门 ---- Security 整合 Oauth2 认证授权【随笔】
- vmwaretools与open-vm-tools都无法使用的解决方法
热门文章
- java在微信朋友圈中植入广告_微信朋友圈广告植入怎么做
- kuberntes集群不能解析service ip故障排查记录
- 系统繁忙 请稍后再试(ALI64)”
- 罗升阳 android系统源代码情景分析,Android系统源代码情景分析
- Android 多平台AR SDK 集成使用
- 安卓马赛克view_Android图形图像处理:马赛克(Mosaic)效果
- 2020-02-08
- 【LeetCode每日一题】1723. 完成所有工作的最短时间
- python scapy抓取http报文内容
- (轉貼) 太空探索/液態水存在?火星南極有廣大冰層 可能有生命 (News)