打印
[i.MX]

ERROR: v4l2 capture: mxc_v4l_dqueue timeout enc_counter 0 求大神支招!!

[复制链接]
8270|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数据出错。

使用特权

评论回复
5
FSL_TICS_Rita| | 2015-8-25 12:07 | 只看该作者
楼主你好,请问你这里使用的是官网提供的开发板还是自己做的板子呢?

使用特权

评论回复
6
kevin1234|  楼主 | 2015-8-25 13:05 | 只看该作者
FSL_TICS_Rita 发表于 2015-8-25 12:07
楼主你好,请问你这里使用的是官网提供的开发板还是自己做的板子呢?

你好,是自己设计的板子

使用特权

评论回复
7
FSL_TICS_Rita| | 2015-8-25 16:22 | 只看该作者
kevin1234 发表于 2015-8-25 13:05
你好,是自己设计的板子

请问你这里驱动移植是OK的吧?还有你这里是使用unit_test中的测试代码吗?

使用特权

评论回复
8
kevin1234|  楼主 | 2015-8-25 16:54 | 只看该作者
FSL_TICS_Rita 发表于 2015-8-25 16:22
请问你这里驱动移植是OK的吧?还有你这里是使用unit_test中的测试代码吗?

驱动是OK的,这次是用的自己写的代码,之前用mxc_v4l2_capture测试也不行,也是类似的错误,之前有发表过一篇帖子,最后你没有回复

使用特权

评论回复
9
mini1986| | 2015-8-26 08:58 | 只看该作者
关注一下,后续学习学习......

使用特权

评论回复
10
ccw1986| | 2015-8-26 10:56 | 只看该作者
解决问题就是好的啊,问题很高深啊

使用特权

评论回复
11
kevin1234|  楼主 | 2015-8-26 11:29 | 只看该作者
ach_dmatek 发表于 2015-8-25 11:26
我的问题解决了,是I2Cwrite数据出错。

你好,你也是用的ov5640吗?

使用特权

评论回复
12
ach_dmatek| | 2015-8-26 11:51 | 只看该作者
我们使用的是OV2643.没有源码,自己调试。

使用特权

评论回复
13
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函数不断循环,最后出现帖子上的错误然后退出程序。。。。。。。。

使用特权

评论回复
14
ach_dmatek| | 2015-8-27 08:43 | 只看该作者
你的问题应该是软体架构不对应导致的。如果你是使用Android系统的应用打开摄像头。Camera的HAL层获取不到它要的数据,就会出现你那样的错误。介意你从驱动架构上分析一下。

使用特权

评论回复
15
kevin1234|  楼主 | 2015-8-27 09:09 | 只看该作者
ach_dmatek 发表于 2015-8-27 08:43
你的问题应该是软体架构不对应导致的。如果你是使用Android系统的应用打开摄像头。Camera的HAL层获取不到它 ...

我这边用的是linux,V4L2编程则是在QT上完成

使用特权

评论回复
16
kevin1234|  楼主 | 2015-8-27 09:14 | 只看该作者
ach_dmatek 发表于 2015-8-27 08:43
你的问题应该是软体架构不对应导致的。如果你是使用Android系统的应用打开摄像头。Camera的HAL层获取不到它 ...

调试发现程序是执行到VIDIOC_DQBUF这一步出现的错误

使用特权

评论回复
17
ach_dmatek| | 2015-8-27 11:43 | 只看该作者
我之前的问题和你的一样,出现的错误也是一样的。就是应该I2C write的时候出错到时的。修改好之后。就解决了。

使用特权

评论回复
18
kevin1234|  楼主 | 2015-8-28 13:23 | 只看该作者
ach_dmatek 发表于 2015-8-27 11:43
我之前的问题和你的一样,出现的错误也是一样的。就是应该I2C write的时候出错到时的。修改好之后。就解决 ...

I2C write是要改数据还是啥?可否分享一下你修改的部分?

使用特权

评论回复
19
ach_dmatek| | 2015-8-29 09:19 | 只看该作者
我移植OV2643去掉就是按照ov5640架构做的,OV5640的数据是16位,2643的数据是8位。所以在write的时候,ov5640要分成高8位和低8位两次去写。2643就只需要写一次了。问题就在这里。

使用特权

评论回复
20
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

粉丝