常见问题
4 Dec 2024
Read time: 1 minute(s)
摄像头初始化失败
现象
板子启动后,摄像头的 V4L2 device 注册失败,此时 DVP 的注册流程也因此不完整,在 Sysfs 中会找不到 /dev/video0 不存在。
原因分析
一般情况下,摄像头需要通过 I2C 来访问,所以要确保 I2C 和摄像头两个模块是否打开。
-
摄像头的打开方法:配置 OV5640 摄像头
-
I2C 的打开方法,参考 I2C 模块的使用说明。
同时,要确认以下配置是否正确:
-
硬件上,摄像头是连接到哪个 I2C 通道,对应的 DTS 配置是否正确,配置参见 配置 OV5640 摄像头
-
摄像头的 I2C 设备地址是否正确,参见 配置 OV5640 摄像头 中的参数 camera@3C。
-
摄像头的供电是否正常。
画面不够流畅
现象
界面显示的摄像头画面有明显卡顿情况。
原因分析
很可能是 OS 的调度不够及时导致,导致 DVP 的帧采集不连续。
解决方法
-
如果 DVP 驱动中的调试信息打开了,每一帧数据处理都有输出 log,会影响帧率,需要关掉。提升 log 级别即可。
-
尝试增加
test_dvp
中的 buffer 数量,保证 buf 队列中有充裕的空闲 buf。