打印
[工具和软件]

调试freescale CSI sa7113 camera的心得

[复制链接]
1158|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
vigous1|  楼主 | 2015-1-29 16:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

最近在freescale mx51平台上调试saf7113芯片,写下一些调试的心得

1. 一个好的工具 YUVtools.exe

这个工具可以用来查看拍摄出来的YUV图片效果, 来发现到底什么地方出了问题,很方便,选项非常多,在调试中碰到的很多问题,比如失帧

图片模糊,格式不对等等都可以通过这个工具对图片进行分析

2. 概念的了解: BT656, MX51 IPU, SAF7113 V4L2这些概念一定要清楚

SAF7113有一套缺省的设置, 按照这套缺省设置基本就可以出图像了。

我设置的saf7113输出是BT656,当初对BT656不太了解,所以在理解MXC V4L2对下层的接口上多花费了一些时间。

3. freescale的代码

毕竟不是为项目定制的,问题还是有一些的,我想当初他们也只是测试了部分代码,所以不要太迷信他的代码,当我放开手脚开始修改MXC V4L2代码后,觉得轻松了很多

另外MXC V4L2中有很多hardcode的代码,如果格式或者制式的原因,可能会使capture和overlay看起来像失帧,其实都是格式惹的祸。

此外MXC ipu3 code 也有值得商榷的地方,反正该改写的地方我都没客气

4. 解隔行, saf7113输出的是隔行数据

使用channel的scan-order可以实现隔行数据的交错, 但是对于动态图像,交错后的数据可能会出现毛刺,锯齿等问题。

还有一种办法,就是使用一场数据代替整帧数据,缺点是会损害静态物体的清晰度。

5. preview很好用

我直接用的freescale的代码,效果很不错,从camera直接到framebuffer,几乎不需要cpu参与。不过freescale android overlay hal使用的是push mode模式,而不是VIDIOC_OVERLAY

6. 自己写小程序分析图片

比如NTSC摄像头拍出的图片模糊,其实是IPU把NTSC数据top bottom field搞反了,图片看着很奇怪,我写了个程序把top bottom解出来,然后调整下顺序,发现图片清晰了,改了下IPU中top field的识别模式,好了,再次说明不要太相信freescale的代码。dd 也要用好,方便的很。

7. 照抄ov3640

驱动框架都是从ov3640.c抄来的,虽然最后已改的面目全非,但是最初还是很有帮助的

8. IPU的channel

这个概念要尽早了解,很重要,了解这个,MXC V4L2的代码看起来相当的简单


相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

88

主题

427

帖子

15

粉丝