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初认识》已经上架,可以点击了解 -> 小驰成长圈 |期待见证彼此的成长

觉得不错,点个赞呗

相关推荐
易点云徐源3 小时前
(已解决)adb devices 不显示设备,但 Windows 的 ADB Interface 正常:一次 WinUSB 与旧版 ADB 兼容性排查实战
windows·adb
夜雪一千16 小时前
MySQL 全局锁是什么?原理、风险、备份踩坑完整实战
android·mysql·adb
clorinda1 天前
MySQL 入门笔记:DQL 基础查询与常用函数
adb
Code额1 天前
基于 SQLAlchemy 2.x,面向 MySQL 数据库的从入门到精通实战教程(2)
数据库·sql·mysql·adb·ai
游戏开发爱好者82 天前
WebSocket 抓包怎么查看内容?从握手到消息帧完整解读
网络协议·计算机网络·网络安全·ios·adb·https·udp
00后程序员张3 天前
SSL Pinning 抓包抓不到明文?绕过证书固定的几种方案
网络协议·计算机网络·网络安全·ios·adb·https·udp
没文化的阿浩4 天前
【MySQL】数据类型
android·mysql·adb
黄毛火烧雪下4 天前
智能眼镜无线adb调试
adb
游戏开发爱好者85 天前
带签名时间戳接口的重放与压力测试实战,用动态值在发送前现算签名
网络协议·计算机网络·网络安全·ios·adb·https·压力测试
Lethehong7 天前
MySQL迁移如何做到零改造?四层兼容方案详解
数据库·mysql·adb