一.IIC测试 I2C检查得到ID是0x18 i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- 18 -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- 读取寄存器0x3000的值 i2ctransfer -f -y 1 w2@0x18 0x30 0x00 r8 0x1a 0x56 0x00 0x08 0x00 0x08 0x04 0xb7 二.设备树kernel/arch/arm/boot/dts/rv1126-firefly-rk809.dtsi 在&i2c1里面增加 file:///C:/Users/fly/AppData/Local/Temp/ksohtml40268/wps1.jpg 三.驱动移植cd ~/firefly_1126/Linux_SDK/rv1126_rv1109_linux_release_20211022/kernel/driver/media/i2c kernel/driver/media/i2c/Kconfig file:///C:/Users/fly/AppData/Local/Temp/ksohtml40268/wps2.jpg kernel/arm/configs/rv1126_firefly_defconfig加入CONFIG_VIDEO_AR0234=y file:///C:/Users/fly/AppData/Local/Temp/ksohtml40268/wps3.jpg kernel/driver/media/i2c/Makefile file:///C:/Users/fly/AppData/Local/Temp/ksohtml40268/wps4.jpg 编译: ./build.sh kernel file:///C:/Users/fly/AppData/Local/Temp/ksohtml40268/wps5.jpg 观察到ar0234.o已经编译 前后肩 file:///C:/Users/fly/AppData/Local/Temp/ksohtml40268/wps6.jpg file:///C:/Users/fly/AppData/Local/Temp/ksohtml40268/wps7.jpg 调试问题 1. Vts,hts没有正确会导致初始化失败2. 初始化成功后,开机adb无法连接,原因是有一个开机启动程序,启动了相机,因为没有完全适配完,出错了造成卡死。file:///C:/Users/fly/AppData/Local/Temp/ksohtml40268/wps8.jpg 3. 关闭开机程序file:///C:/Users/fly/AppData/Local/Temp/ksohtml40268/wps9.jpg 删掉这个文件 4. rkisp0报错 ./rkisp_demo --vop --width 1920 --height 1200 --device /dev/video14 file:///C:/Users/fly/AppData/Local/Temp/ksohtml40268/wps10.jpg 5. 驱动默认频率27M改成24M//#define AR0234_PIXEL_RATE (72 * 1000 * 1000) //#define AR0234_XVCLK_FREQ 27000000 //#define MIPI_FREQ_396M 396000000 //#define MIPI_FREQ_792M 792000000 #define AR0234_XVCLK_FREQ 24000000 #define MIPI_FREQ_396M 336000000 #define MIPI_FREQ_792M 696000000 改完后,不会卡死,问题4解决。 6. 设置vts,htsfile:///C:/Users/fly/AppData/Local/Temp/ksohtml40268/wps11.jpg 7. 驱动stream on不对先用命令测试出MIPI,示波器测量有反应 i2ctransfer -f -y 1 w2@0x18 0x30 0x1a r8 i2ctransfer -f -y 1 w4@0x18 0x30 0x1a 0x20 0x5c i2ctransfer -f -y 1 w4@0x18 0x30 0x1c 0x00 0x01 驱动改成按照16bit取读写iic。 rkisp_demo --vop --width 1920 --height 1200 --device /dev/video14 成功出图。 8. Sensor的中心点位和镜头的中心点位不一致9. 开启FLASH角file:///C:/Users/fly/AppData/Local/Temp/ksohtml40268/wps12.jpg i2ctransfer -f -y 1 w4@0x18 0x32 0x70 0x01 0x00 设置3270的第8bit为1,才能示波器观察到FLASH的输出 10. 设置曝光时间i2ctransfer -f -y 1 w4@0x18 0x30 0x12 0x08 0xFF i2ctransfer -f -y 1 w2@0x18 0x30 0x12 r8 11. MIPI drop framefile:///C:/Users/fly/AppData/Local/Temp/ksohtml40268/wps13.jpg 12. 降低帧率TI的FDP-LINK支持的带宽有限,需要降低帧率大概到50-60fps。 file:///C:/Users/fly/AppData/Local/Temp/ksohtml40268/wps14.jpg file:///C:/Users/fly/AppData/Local/Temp/ksohtml40268/wps15.jpg i2ctransfer -f -y 1 w4@0x18 0x30 0x0C 0x02 0x64 i2ctransfer -f -y 1 w4@0x18 0x30 0x0C 0x03 0x96 i2ctransfer -f -y 1 w2@0x18 0x30 0x0C r2 612改成918后,帧率大概在60多。 i2ctransfer -f -y 1 w4@0x18 0x30 0x0C 0x04 0xC8 612改成翻倍的1224,帧率大概50. 跟曝光时间也有关系。
|