[i.MX] 明远智睿iMx6, IMx132 MIPI camera调试

[复制链接]
4256|11
 楼主| wsh10010 发表于 2015-11-28 19:30 | 显示全部楼层 |阅读模式
我重新焊接了转接板,现在 ERR1 是 0, ERR2 在 0 和 0x100两个状态跳变. 寄存器是说 " Header error detected and corrected on Virtual Channel 0",  这会有问题吗?这是不是就是说我的CSI和IPU配置没有问题?
status寄存器在 0x300 和 0x310两个状态跳变, (IMX132 是 1 lane ).

另外,我的IMX132输出格式是 RAW8 or RAW10。使用官方的 unit_test 文件夹下的测试用例( mxc_v4l2_overlay.out &mxc_v4l2_capture.out&mxc_v4l2_still.out ), 图像不能正常显示。报错信息包括
mxc_v4l2_capture.out:
ERROR: v4l2 capture: mxc_v4l_dqueue timeout enc_counter 0
ERROR: v4l2 capture: VIDIOC_QBUF: buffer already queued
mxc_v4l2_still.out :
ERROR: v4l2 capture: mxc_v4l_read timeout counter 0
imx-ipuv3 imx-ipuv3.0: Not a CSI channel

我如何直接拿到数据,保存到一个文件?我甚至不需要任何处理和显示,我就想拿到数据看一下,在其他地方打开。
跟屁虫 发表于 2015-11-28 20:06 | 显示全部楼层
楼主要拿到什么数据啊,不太明白
far5810 发表于 2015-11-28 21:26 | 显示全部楼层
timeout 说明中断都没产生,  中断没产生, 也就是ipu还没拿到数据,   ipu都没拿到数据,你就想拿数据了....
Beckham_Owen 发表于 2015-11-29 20:18 | 显示全部楼层
这个对我来说真有点难,让大神来解答吧
mini1986 发表于 2015-12-1 10:46 | 显示全部楼层
imx-ipuv3 imx-ipuv3.0: Not a CSI channel
驱动还是那个应用测试程序没有搞好吧......
 楼主| wsh10010 发表于 2015-12-1 15:51 | 显示全部楼层
far5810 发表于 2015-11-28 21:26
timeout 说明中断都没产生,  中断没产生, 也就是ipu还没拿到数据,   ipu都没拿到数据,你就想拿数据了... ...

修改了ipu和csi的设定,用mxc_v4l2_still.out现在拿到了,没有之前的csi的报错了,但数据不对,在mxc_v4l2_still.out的时候,提示imx-ipuv3 imx-ipuv3.0: IPU warning IPU_INT_STAT_10=0x00000001,
数据全是一大段0x41和一大段0x42交替,
用cat /dev/video1,就打印出来一大段A和一大段B交替。。。没其他报错了,很奇怪。

mxc_v4l2_capture.out仍然是:
ERROR: v4l2 capture: mxc_v4l_dqueue timeout enc_counter 0
 楼主| wsh10010 发表于 2015-12-1 15:53 | 显示全部楼层
跟屁虫 发表于 2015-11-28 20:06
楼主要拿到什么数据啊,不太明白

拿到图像的原始像素的二进制数据。修改了ipu和csi的设定,用mxc_v4l2_still.out现在拿到了,没有之前的csi的报错了,但数据不对,在mxc_v4l2_still.out的时候,提示imx-ipuv3 imx-ipuv3.0: IPU warning IPU_INT_STAT_10=0x00000001,
数据全是一大段0x41和一大段0x42交替,
用cat /dev/video1,就打印出来一大段A和一大段B交替。。。没其他报错了,很奇怪。

mxc_v4l2_capture.out仍然是:
ERROR: v4l2 capture: mxc_v4l_dqueue timeout enc_counter 0
ERROR: v4l2 capture: VIDIOC_QBUF: buffer already queued
far5810 发表于 2015-12-2 01:24 | 显示全部楼层
wsh10010 发表于 2015-12-1 15:51
修改了ipu和csi的设定,用mxc_v4l2_still.out现在拿到了,没有之前的csi的报错了,但数据不对,在mxc_v4l ...

调试摄像头驱动,  不建议用 mxc 的 still 方式(也就是 read 方式),感觉still驱动还有些问题的,你cat读到的东西不是摄像头的数据,
建议用 mxc 的 capture 方式,也就是  v4l2 的方式 去取数据,
你的 dqueue 超时  就是 csi 没有收到数据  没有产生中断, 可以在 ipu_csi_enc.c 文件中的中断函数加打印看看。
 楼主| wsh10010 发表于 2015-12-2 09:43 | 显示全部楼层
far5810 发表于 2015-12-2 01:24
调试摄像头驱动,  不建议用 mxc 的 still 方式(也就是 read 方式),感觉still驱动还有些问题的,你cat ...

额,cat打印的是什么数据呢?为啥和read读出来的一样。。。嗯,我去查查csi中断
far5810 发表于 2015-12-2 10:31 | 显示全部楼层
wsh10010 发表于 2015-12-2 09:43
额,cat打印的是什么数据呢?为啥和read读出来的一样。。。嗯,我去查查csi中断 ...

ca t本来就是 不断的去 read
hefengjiao 发表于 2016-6-26 19:54 | 显示全部楼层
请问楼主是怎么解决的?我现在碰到了相同的问题,请帮忙解惑,谢谢。
ryanhc 发表于 2017-8-30 11:14 | 显示全部楼层
我也想知道哦 谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

17

帖子

1

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