正在施工
说明
-
Sensor 调试的第⼀个关键节点是 i2c 能否通讯成功,chip id 检查是否正确。如果是,说明上电时序没有问题。
-
使⽤ media-ctl 获取拓扑结构,查看 Sensor 是否已经注册成⼀个 entity。如果是,说明 Sensor 已经注册成功。
-
抓图
ps:SDK有doc的,里面说的调试步骤很清楚,有的不一定可以轻易搞出来,大的流程是这样,卡到哪一步就随机应变了。
点亮sensor
i2c访问
# 标准格式
i2ctransfer -f -y BUS_NUMBER w[WRITE_LENGTH]@[DEVICE_ADDRESS] [WRITE_DATA...] r[READ_LENGTH]
# 示例:读取GC05a2传感器0x03f0寄存器,即sensor id
i2ctransfer -f -y 4 w2@0x37 0x03 0xf0 r2
其中:
- BUS_NUMBER = 4(你的I2C总线号)
- DEVICE_ADDRESS = 0x37(你的摄像头地址)
- WRITE_LENGTH = 2(寄存器地址长度)
- READ_LENGTH = 1(要读取的数据长度)
i2cdump -y -f 4 0x37
是不行的,i2c读取摄像头里面的寄存器都是双字节的,摄像头没有低位的寄存器,所以读不到。
# i2cdetect和i2cdump默认只扫描0x00-0x7F范围
# 0x03f0超出了这个范围(需要2字节地址)
i2cdump的工作方式:
默认使用单字节地址(0-255)
发送格式:START + 设备地址 + 寄存器地址(8位) + START + 设备地址 + READ
i2ctools的使用参考:https://blog.csdn.net/qq_42952079/article/details/125217208