[i.MX] ERROR: v4l2 capture: mxc_v4l_dqueue timeout enc_counter 0 求大神支招!!

[复制链接]
9094|24
 楼主| kevin1234 发表于 2015-8-24 21:16 | 显示全部楼层 |阅读模式
BSP:linux3.0.35 飞思卡尔mx6q,摄像头驱动:ov5640  用测试程序mxc_v4l2_overlay.c能正常显示图像,但是用V4L2编程capture方式捕获图像每次执行到VIDIOC_STREAMON启动视频采集命令后就一直出错,错误如下:
imx-ipuv3 imx-ipuv3.0: IDMAC0's U offset exceeds IPU limitation
ERROR: v4l2 capture: mxc_v4l_dqueue timeout enc_counter 0
看起来像是没有中断,还望有相关经验的老兄帮忙分析一下,感激不尽!!!!
ach_dmatek 发表于 2015-8-25 09:11 | 显示全部楼层
也遇到这个问题了。求解答。
 楼主| kevin1234 发表于 2015-8-25 10:17 | 显示全部楼层
ach_dmatek 发表于 2015-8-25 09:11
也遇到这个问题了。求解答。

有没有什么进展?
ach_dmatek 发表于 2015-8-25 11:26 | 显示全部楼层
我的问题解决了,是I2Cwrite数据出错。
FSL_TICS_Rita 发表于 2015-8-25 12:07 | 显示全部楼层
楼主你好,请问你这里使用的是官网提供的开发板还是自己做的板子呢?
 楼主| kevin1234 发表于 2015-8-25 13:05 | 显示全部楼层
FSL_TICS_Rita 发表于 2015-8-25 12:07
楼主你好,请问你这里使用的是官网提供的开发板还是自己做的板子呢?

你好,是自己设计的板子
FSL_TICS_Rita 发表于 2015-8-25 16:22 | 显示全部楼层
kevin1234 发表于 2015-8-25 13:05
你好,是自己设计的板子

请问你这里驱动移植是OK的吧?还有你这里是使用unit_test中的测试代码吗?
 楼主| kevin1234 发表于 2015-8-25 16:54 | 显示全部楼层
FSL_TICS_Rita 发表于 2015-8-25 16:22
请问你这里驱动移植是OK的吧?还有你这里是使用unit_test中的测试代码吗?

驱动是OK的,这次是用的自己写的代码,之前用mxc_v4l2_capture测试也不行,也是类似的错误,之前有发表过一篇帖子,最后你没有回复
mini1986 发表于 2015-8-26 08:58 | 显示全部楼层
关注一下,后续学习学习......
ccw1986 发表于 2015-8-26 10:56 | 显示全部楼层
解决问题就是好的啊,问题很高深啊
 楼主| kevin1234 发表于 2015-8-26 11:29 | 显示全部楼层
ach_dmatek 发表于 2015-8-25 11:26
我的问题解决了,是I2Cwrite数据出错。

你好,你也是用的ov5640吗?
ach_dmatek 发表于 2015-8-26 11:51 | 显示全部楼层
我们使用的是OV2643.没有源码,自己调试。
 楼主| kevin1234 发表于 2015-8-26 17:29 | 显示全部楼层
FSL_TICS_Rita 发表于 2015-8-25 16:22
请问你这里驱动移植是OK的吧?还有你这里是使用unit_test中的测试代码吗?

驱动是OV5640,但是摄像头模块是用的FPGA不断通过CSI接口发送图片来代替标准的摄像头,OV5640调试过程中我把驱动源码I2C相关的函数都注释掉了,用unit_test里面的mxc_v4l2_overlay测试能够正常显示出图像,是不是I2C的关系呢?我调试发现内核一直在ipu_csi_enc.c里面的csi_enc_callback函数不断循环,最后出现帖子上的错误然后退出程序。。。。。。。。
ach_dmatek 发表于 2015-8-27 08:43 | 显示全部楼层
你的问题应该是软体架构不对应导致的。如果你是使用Android系统的应用打开摄像头。Camera的HAL层获取不到它要的数据,就会出现你那样的错误。介意你从驱动架构上分析一下。
 楼主| kevin1234 发表于 2015-8-27 09:09 | 显示全部楼层
ach_dmatek 发表于 2015-8-27 08:43
你的问题应该是软体架构不对应导致的。如果你是使用Android系统的应用打开摄像头。Camera的HAL层获取不到它 ...

我这边用的是linux,V4L2编程则是在QT上完成
 楼主| kevin1234 发表于 2015-8-27 09:14 | 显示全部楼层
ach_dmatek 发表于 2015-8-27 08:43
你的问题应该是软体架构不对应导致的。如果你是使用Android系统的应用打开摄像头。Camera的HAL层获取不到它 ...

调试发现程序是执行到VIDIOC_DQBUF这一步出现的错误
ach_dmatek 发表于 2015-8-27 11:43 | 显示全部楼层
我之前的问题和你的一样,出现的错误也是一样的。就是应该I2C write的时候出错到时的。修改好之后。就解决了。
 楼主| kevin1234 发表于 2015-8-28 13:23 | 显示全部楼层
ach_dmatek 发表于 2015-8-27 11:43
我之前的问题和你的一样,出现的错误也是一样的。就是应该I2C write的时候出错到时的。修改好之后。就解决 ...

I2C write是要改数据还是啥?可否分享一下你修改的部分?
ach_dmatek 发表于 2015-8-29 09:19 | 显示全部楼层
我移植OV2643去掉就是按照ov5640架构做的,OV5640的数据是16位,2643的数据是8位。所以在write的时候,ov5640要分成高8位和低8位两次去写。2643就只需要写一次了。问题就在这里。
 楼主| kevin1234 发表于 2015-9-1 09:20 | 显示全部楼层
ach_dmatek 发表于 2015-8-29 09:19
我移植OV2643去掉就是按照ov5640架构做的,OV5640的数据是16位,2643的数据是8位。所以在write的时候,ov56 ...

是不是通过I2C写入什么数据然后触发相应的中断呢?一直搞不明白其中的联系。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

18

主题

64

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部