MTK Camera Debug,adb 读写寄存器操作

在Camera BringUp阶段,遇到问题的时候,我们有时需要读取或者写入某个寄存器的值来进行debug。在mtk 平台,通过adb命令就能实现。

一、读取/写入 某个寄存器地址的值

下面的例子,针对主摄camera sensor进行操作。操作节点是/proc/driver/camsensor,其它camera sensor类推。

设备先adb root。

1)读取寄存器地址的值

/proc/driver # echo "0x0a34" > camsensor && dmesg |grep -i a34

2)往寄存器地址写值

/proc/driver # echo "0x3304 0x66" > camsensor && dmesg |grep -i 3304

markdown 复制代码
操作示例打印:


XXX:/proc/driver # echo "0x3304 0x66" > camsensor && dmesg |grep -i 3304
[  361.519092] (1)[3166:sh]write_cmos_sensor 3304
[  361.519351] (1)[3166:sh]read_cmos_sensor 3304
[  361.519369] (1)[3166:sh][imgsensor]write addr = 0x00003304, data = 0x00000066

调试读写操作,对应驱动代码打印:

php 复制代码
case SENSOR_FEATURE_SET_REGISTER:
        LOG_INF("SENSOR_FEATURE_SET_REGISTER");
        write_cmos_sensor(sensor_reg_data->RegAddr,
                    sensor_reg_data->RegData);
        break;
    case SENSOR_FEATURE_GET_REGISTER:
        LOG_INF("SENSOR_FEATURE_GET_REGISTER");
        sensor_reg_data->RegData =
            read_cmos_sensor(sensor_reg_data->RegAddr);
        break;
二、相关代码逻辑在:

kernel-4.19/drivers/misc/mediatek/imgsensor/src/common/v1_1/imgsensor_proc.c

叶子分割线

《Android Camera开发入门》、《Camx初认识》已经上架,可以点击了解 -> 小驰成长圈 |期待见证彼此的成长

觉得不错,点个赞呗

相关推荐
游戏开发爱好者82 天前
网络连接排查指南,谁在电脑后台偷跑流量,哪些程序在联网
网络协议·计算机网络·网络安全·ios·adb·https·udp
实心儿儿2 天前
MySQL 的安装
数据库·mysql·adb
2601_962300472 天前
基于Python与Tkinter的ADB Monkey自动化测试脚本开发
python·adb·tkinter·android测试·gui自动化
flower_drop4 天前
基于 WebUSB 与 CDP:在浏览器端实现 Android 设备通信与无证书抓包实践
android·chrome·测试工具·adb·bug·edge浏览器
蜡台4 天前
# 已解决|MySQL 8\.4\.11 密码正确仍报错1045 \(28000\) Access denied 终极修复方案
android·mysql·adb
leoZ2314 天前
2026-09-08-mysql-57-init-walkthrough
前端·javascript·数据库·vue.js·opencv·mysql·adb
2501_915921434 天前
抓包工具对比:Charles、TraceEagle、Wireshark、Fiddler 与 Proxyman
网络协议·计算机网络·网络安全·ios·adb·https·udp
秋不溜啾4 天前
三星手机网络连接ADB和关闭自动更新
adb·安卓
没文化的阿浩5 天前
【MySQL】用户管理
android·mysql·adb
Michaelwubo5 天前
mysql8 主从 HA切换
android·adb