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

文摘   2024-10-10 07:30   广东  

在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

操作示例打印:
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


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

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



觉得不错,点个赞呗 

小驰行动派
前世界500强软件开发工程师,记录分享工作和生活的思考。感谢关注,期待见证彼此的成长~
 最新文章