您好:
在imx8mq上做摄像头移植,解码器选用的是ub940仿照ov5640改写的驱动程序,现在遇到以下问题,麻烦帮解决下:
1、menuconfig配置问题,参考手册上的配置如下,请问在8mq上是否需要配置选项(1)中配置,或者需要配置个别选项,选项(2)中的配置MXC_CAMERA_OV5640_V2是前摄像头,MXC_CAMERA_OV5640_MIPI_V2是后摄像头的意思么,还是有其他含义。
(1)For MX8 select > IMX8 Camera ISI/MIPI Features support
(VIDEO_MX8_CAPTURE) > IMX8 Camera Controller
(IMX8_CAPTURE_DRIVER) and Maxim OV5640_V3 driver support
(MXC_CAMERA_OV5640_V3)
(2) For MX8M select > OmniVision ov5640 camera support
(MXC_CAMERA_OV5640_V2) and OmniVision ov5640 camera support using
mipi (MXC_CAMERA_OV5640_MIPI_V2)
2、以上配置全选的情况下,驱动正常加载,检测发现驱动程序已与/dev/video1下设备绑定,通过应用操作/dev/video1设备,执行ioctl命令VIDIOC_REQBUFS时提示以下错误,发现是申请代码中alloc函数指针没有赋值,mx6s_capture.c文件中结构没有调用mx6s_csi_open()赋值函数请问这个函数是在什么时候调用,我需要配置那个选项,启用这个配置,还是在应用启动时调用。
mx6s-csi 30b80000.csi2_bridge: dma_alloc_coherent of size 0 failed
memory allocation failed
Solved! Go to Solution.
Hello qiang,
Open i.MX8MQ Reference manual, please! and see the register "Disable Payload 0 Register (CSI2RX_CFG_DISABLE_PAYLOAD_0)" & "CSI Control Register 18 (CSI_CSICR18)", probably they are what you want to look for.
另外,请注意,对于新的问题,请重新建一个新的帖子,这样便于讨论或者其他用户检索到。
谢谢!
Weidong
Hello Dong,
感谢您的回答,经过查看确实是应用层没有打开,在imx8mq上已经把设备和驱动联系在一起,请问在imx8mq上有相应的/dev/video测试应用么?
maqiang
linux BSP有一个mxc_unit_test目录,这里是CPU各个模块的测试程序,其中就有对camera测试的。另外,gstreamer也可以用来捕获视频。
weidong
您好:
在调试video时想添加图像格式RGB565,在添加过程中发现数据手册上没有相应CSI寄存器,请问我截图(2)处的寄存器配置去哪里查找?或者(1)处位应该怎么添加配置,如图:
Hello qiang,
Open i.MX8MQ Reference manual, please! and see the register "Disable Payload 0 Register (CSI2RX_CFG_DISABLE_PAYLOAD_0)" & "CSI Control Register 18 (CSI_CSICR18)", probably they are what you want to look for.
另外,请注意,对于新的问题,请重新建一个新的帖子,这样便于讨论或者其他用户检索到。
谢谢!
Weidong
Hello Qiang,
在应用层使用某个设备的时候,需要使用linux提供的标准系统调用,任何一个设备都有open () / close()都有这2个调用。
您是不是没有使用open( )打开设备,直接就用ioctrl了。所以,你查查看。
weidong