工具/软件:Linux
大家好、
我们有基于 AM5728的定制板、在 VIN1端口 A 上、我们连接了摄像头模块。 摄像机创建一个视频节点/dev/video1.
我们在 EGLFS 平台上运行基于 QTc 5.5的应用程序。 之前我们使用的是基于 Wayland 的平台、该平台上的摄像头工作正常。
切换到 EGLFS 后、当我们尝试从 /usr/share/qt5/examples/multimediawidgets/camera/camera 运行 Qt 的示例摄像头应用程序时、摄像头不会显示实时流。 行为是随机的、5-6次后、我们可以看到摄像头应用程序工作正常、我们可以在 LCD 上看到流、其余时间、流不在 LCD 上、控制台上打印错误下方。
根目录@Raymond-GDM:/opt/GDM sh run_camera.sh
[3621.998258] PVR_K:UM DDK-(3699939)和 KM DDK-(3699939)匹配。 [确定]
PVR:(错误):SrvInit:PVRSRVInitSrvConnect 失败(129)[0、]
/usr/bin/pvrsrvctl:SrvInit 失败(已初始化?) (ERR=PVRSRV_ERROR_SRV_CONNECT_FAILED)
QT.QPA.egldeviceintegration:EGL 器件集成插件密钥:("eglfs_kms")
QT.QPA.egldevicesintegration:使用基本设备集成
qt.qpa.input: evdevkeyboard:使用设备发现
类型 QFlags (0x8)的 qt.qpa.input: udev 设备发现
qt.qpa.input:找到匹配的器件("/dev/input/event1)
qt.qpa.input:在"/dev/input/event1 "添加键盘
qt.qpa.input:尝试为"/dev/input/event1 ""创建键盘处理程序
qt.qpa.input:打开键盘,网址为“/dev/input/event1”
qt.qpa.input:为设备"/dev/input/event1 "创建键盘处理程序
qt.qpa.input:卸载当前键位映射并内置恢复
qt.qpa.input: numlock=0、capslock=0、scrolllock=0
qt.qpa.input: evdevmouse:使用设备发现
类型 QFlags (0x1|0x2)的 qt.qpa.input: udev 设备发现
qt.qpa.input:找到匹配的器件()
qt.qpa.input:正在初始化 tslib 插件"TsLib"""
qt.qpa.input: slib 器件为"/dev/input/event0 "
无法查询物理屏幕大小,默认为100 dpi。
要覆盖、请设置 QT_QPA_EGLFS_physical 和 QT_QPA_EGLFS_physical 高度(以毫米为单位)。
qt.qpa.input:正在初始化 tslib 插件"tslib "/dev/input/event0
qt.qpa.input: slib 器件为"/dev/input/event0 "
[3622.578363] vip1-s0:vIP_Porta_output_FIFO_YUV
[3622.584290] vip1-s0:vIP_overflow_recovery_work:端口 A
[3622.611693] vip1-s0:vIP_Porta_output_FIFO_YUV
[3622.616421] vip1-s0:vIP_overflow_recovery_work:端口 A
[3622.645026] vip1-s0:vIP_Porta_output_FIFO_YUV
[3622.649739] vip1-s0:vIP_overflow_recovery_work:端口 A
[3622.678360] vip1-s0:vIP_Porta_output_FIFO_YUV
[3622.683826] vip1-s0:vIP_overflow_recovery_work:端口 A
[3622.711693] vip1-s0:vIP_Porta_output_FIFO_YUV
[3622.717199] vip1-s0:vIP_overflow_recovery_work:端口 A
[3622.724115] vip1-s0:vIP_overflow_recovery_work:num_recovery limit exceeded leaving disabled.
粗体字体中的文本是我关注的问题。 我已经检查了驱动程序代码、似乎驱动程序放弃了没有来自摄像头端口的中断、并且正在尝试5次。
我还在应用程序运行时检查了 VIP 中断、发现当摄像机不在 LCD 上显示流时、VIP 中断不会增加。 另一方面、当我们在 LCD 上看到摄像头的流时、VIP 上的中断会增加。 下面是我检查 VIP 中断的方式。
根目录@Raymond GDM:/opt/GDM cat /proc/interrupts | grep VIP
354:65946 0 CBAR 351电平 vip1-s0
355:0 CBAR 392电平 vip1-s1
如果有任何帮助,将不胜感激。 如果需要、我还可以提供摄像机调用脚本。
谢谢、
Divyeshkumar M

