昨天终于把OV7670 在Moorestown平台驱动调试成功了,目前经过测试可以进行拍照与视频捕捉。归结一下调试的顺序和主要遇到的问题:
(1)I2C接口调试,首先要向i2c adapter注册一个client设备并能够正确的在启动时枚举到该设备,这要设计到Linux驱动模型中driver-bus-device的关系,能够正确的进入sensor的probe函数;
(2)sensor控制信息通信调试,主要是读取到Product & Vendor ID, 并刷新default configuration to sensor。必要的时候用示波器来整个波形的情况,并相应的调整I2C Adapter的读写顺序与速率;
(3)ISP接口方面配置,主要包括颜色的bpat设置,YUV信号顺序,VSYNC & HSYNC信号极性,BT656 or BT601接口,频率设置等硬件方面的配置,注册ci_sensor_config结构体;
(4)Video4Linux框架实现方法,主要是s_fmt/g_fmt/s_ctrl/g_ctrl的具体实现