OV5640 camera mipi does not work on  i.MX 7Dual SABRE Board  

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

OV5640 camera mipi does not work on  i.MX 7Dual SABRE Board  

Jump to solution
2,479 Views
gb400
Contributor I

I’m trying to work with the OV5640 camera on sabre board NCIMX7SABRE  SCH-28590 REV C

I’ve bought a camera as suggested in https://community.nxp.com/thread/435090

 

I’ve built the kernel and rootfs starting from

repo init -u git://git.freescale.com/imx/fsl-arm-yocto-bsp.git -b imx-morty -m imx-4.9.11-1.0.0_ga.xml

 

I made the following change to select imx7d and add :

machine: imx7dsabresd

image: core-image-base

distro: fsl-frambuffer

kernel: linux-fslc-imx (4.1.38)

The device tree is the original.

 

I’ve also added:

 IMAGE_INSTALL_append = "yavta v4l-utils"

from meta-openembedded/meta-oe/recipes-multimedia/

 

I’ve boot from sdcard.

 

From the  following command the camera seems to be loaded.

root@imx7dsabresd:~# lsmod

Module                            S ize  Used by

ov5640_camera_mipi     16871  1

mx6s_capture                 16548  0

mxc_mipi_csi                  12919  1

evbug                                2130  0

 

I see two v4l2 devices:

V4L2 Output Device on /dev/video0

V4L2 Capture Device on to /dev/video1  (the ov5640 camera)

 

But If I run  the following  yavta cmd I get the error “Unable to start streaming: No buffer space available (105).”,

In sdcard there is more than 1 GB free space.

 

root@imx7dsabresd:~# yavta /dev/video1 -c1 -n1 -s640x480 -fUYVY -F

Device /dev/video1 opened.------------[ cut here ]------------

 

Device `i.MX6S_CSI' on `platforWARNING: CPU: 1 PID: 418 at /imx7build/fsl-arm-yocto-bsp/nxp-camera-build/tmp/work-shared/imx7dsabresd/kernel-source/drivers/media/v4l2-core/videobuf2-core.c:1805 vb2_start_streaming+0xe8/0x164()

m:30710000.csi' is a video output

Modules linked in: (without mplanes) device.

Video ov5640_camera_mipi format set: UYVY (59565955) 640x mx6s_capture480 (stride 1280) field none buff mxc_mipi_csier size 614400

Video format:  (0 evbug0000000) 640x480 (stride 0) field

none buffer size 614400

1 buffeCPU: 1 PID: 418 Comm: yavta Tainted: G        W       4.1.38-fslc+gee67fc7 #12

rs requested.

length: 614400 offHardware name: Freescale i.MX7 Dual (Device Tree)

set: 0 timestamp type/source: mon[<800184e0>] (unwind_backtrace) from [<80013cfc>] (show_stack+0x20/0x24)

o/EoF

Buffer 0/0 mapped at addre[<80013cfc>] (show_stack) from [<8094421c>] (dump_stack+0x80/0x94)

ss 0x76d43000.

[<8094421c>] (dump_stack) from [<8003ac1c>] (warn_slowpath_common+0x94/0xc4)

[<8003ac1c>] (warn_slowpath_common) from [<8003ad08>] (warn_slowpath_null+0x2c/0x34)

[<8003ad08>] (warn_slowpath_null) from [<80602c60>] (vb2_start_streaming+0xe8/0x164)

[<80602c60>] (vb2_start_streaming) from [<80605930>] (vb2_internal_streamon+0x128/0x170)

[<80605930>] (vb2_internal_streamon) from [<806059b8>] (vb2_streamon+0x40/0x60)

[<806059b8>] (vb2_streamon) from [<7f00c614>] (mx6s_vidioc_streamon+0x50/0xa4 [mx6s_capture])

[<7f00c614>] (mx6s_vidioc_streamon [mx6s_capture]) from [<805eddcc>] (v4l_streamon+0x2c/0x30)

[<805eddcc>] (v4l_streamon) from [<805f1404>] (__video_do_ioctl+0x294/0x2f0)

[<805f1404>] (__video_do_ioctl) from [<805f0cec>] (video_usercopy+0x1d0/0x630)

[<805f0cec>] (video_usercopy) from [<805f116c>] (video_ioctl2+0x20/0x24)

[<805f116c>] (video_ioctl2) from [<805ec960>] (v4l2_ioctl+0x124/0x15c)

[<805ec960>] (v4l2_ioctl) from [<801465e0>] (do_vfs_ioctl+0x460/0x618)

[<801465e0>] (do_vfs_ioctl) from [<801467dc>] (SyS_ioctl+0x44/0x6c)

[<801467dc>] (SyS_ioctl) from [<8000fc00>] (ret_fast_syscall+0x0/0x3c)

---[ end trace 5417d473caa1347c ]---

Unable to start streaming: No buffer space available (105).

1 buffers released.

 

What is going wrong?

 

Thank in advance

0 Kudos
Reply
1 Solution
1,662 Views
igorpadykov
NXP Employee
NXP Employee

Hi gb400

please try using the following command (assuming the camera is plugged in at boot time)

/unit_tests/mx6s_v4l2_capture.out -d /dev/video1 -m 0 

with Demo Images, for example

https://www.nxp.com/webapp/Download?colCode=L4.1.15_1.2.0_iMX7D&appType=license&location=null 

or other Demo Images found on

i.MX 6 / i.MX 7 Series Software and Development Tool|NXP 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

3 Replies
1,663 Views
igorpadykov
NXP Employee
NXP Employee

Hi gb400

please try using the following command (assuming the camera is plugged in at boot time)

/unit_tests/mx6s_v4l2_capture.out -d /dev/video1 -m 0 

with Demo Images, for example

https://www.nxp.com/webapp/Download?colCode=L4.1.15_1.2.0_iMX7D&appType=license&location=null 

or other Demo Images found on

i.MX 6 / i.MX 7 Series Software and Development Tool|NXP 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

1,662 Views
gb400
Contributor I

Hi igorpadykov,

thanks for your reply.

 

With the demo image you linked me and the mx6s_v4l2_capture tool i've been able to finally capture an image from my ov5640 camera.

 

Now the next step of my work would be to test the camera with my custom image, based on the core-image-base (or a core-image-minimal as well).

 

I tried to install in my local.conf the imx-test recipe: the recipe installed in my rootfs the /unit_tests directory in which i can now find most of  the test tools, except the mx6s_v4l2_capture.out!

 

I've also tried to take mx6s_v4l2_capture.out coming from Demo image (you adviced me) but it does not work because of missing libraries.

Any hint on how I can build and run this tool using my image on sabre imx7d? 

 

Any hint will be appreciated,

Thanks!

gb

0 Kudos
Reply
1,662 Views
igorpadykov
NXP Employee
NXP Employee

Hi gb

please look at

imx-test.git - i.MX Driver Test Application Software 

Best regards
igor

0 Kudos
Reply