现在要接收的是VGA UYVY的数据。通过并行的8跟数据线进行输入。
原来用的V4l2的框架,直接配置好相机输出后传递给isp_device参数,
static struct isp_v4l2_subdevs_group beagle_camera_subdevs[] = {
{
.subdevs = mt9v128_camera_subdevs,
.interface = ISP_INTERFACE_PARALLEL,
.bus = {
.parallel = {
// .width = 8,
.data_lane_shift = 2,// 1181页
// .clk_pol = 1,
// .hdpol=1,
.vdpol=1,
.bridge =0x3, // ISPCTRL_PAR_BRIDGE_BENDIAN
// .fldmode = 0,
// .is_bt656 = 0
}
},
},
{ },
};
但是在应用程序中一直阻塞在获取图像的部分, 因为唤醒等待队列的CCDC_VD0_IRQ一直没有触发过。
后来不用这个了, 因为我手里有一个不用v4l2框架的接受bt656的图像驱动,是直接配置ISP和CCDC的寄存器的驱动, 我按照手册修改了驱动之后,不阻塞了,获取一帧编码发送之后图像整屏都是粉色的。
可以配置的参数都尝试了一遍 但是就是获取不了图像。 还有一个疑问是,CCDC_VDINT中设置接收够一定数量的行之后触发CCDC_VD0_IRQ中断, 但是我写的不用v4l2框架的驱动设置的这个寄存器的值为0也能收到次中断(而且必须设置接收的行数为0 才能触发这个中断) 是因为什么原因呢?
有没有什么解决办法, 用V4l2的和不用的 谁有什么建议可以让我尝试一下, 现在已经完全没有思路了。
或者直接给我一份能接收VGA图像的ISP和CCDC的寄存器的设置也行