This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Debugging and programming on dm355 dvevm

Please can you answer truthfully to those question:

- Where can i find the documentations of all the functions, headers and procedures used in the examples files (like the v4l2-devfb-loop) for the dm355 dvevm?

- How can i use a debugger to write a program of my own? I tried to use Eclipse (with gcc compiler and standard options except for the libraries that i include), but when i run the program "v4l2-devfb-loop.c" (compilation run successifully) i get the error:

VIDIOC_S_FMT error 22, Invalid argument

if the webcam is free and

VIDIOC_S_FMT error 16, Device or resource busy

when the webcam is working for another program (like cheese if you know it).

Do you believe it's possible or i'm waisting my time?

Thanks

  • Hi Andrea,

    The documentation is spread out, there are thousands of pages of docs, and I have yet to find a central directory of all the different files.  spruel3.pdf describes the V4L2 driver.  spraau0.pdf describes the frame buffer driver migration for LSP 1.20.  sprufg1.pdf is the ipipe driver.  spruf72c.pdf is the VPBE in general, and spruf71a.pdf is the VPFE.  There are many more.

    As far as debugging goes, I can't answer your specific question, but remote debugging using eclipse as a GUI front end for GDB definitely works well once you get it going.

    I hope that helps a little...

    -Vim

     

  • To add to Vim's great response, I just wanted to note that V4L2 is a Linux standard for video capture and display; it defines APIs such as VIDIOC_S_FMT as well as return error codes.  These APIs and error codes are likely found under

    .../ti-davinci/include/linux

    In addition, there is documentation for most of the standardized Linux APIs under the linux kernl tree (../ti-davinci/Documentation).  The additional documents that Vim mentioned is primarily to cover features not supported by the Linux standards; for instance, there is no Linux standard for the video resizer hardware found in many of our platforms; therefore we add to the V4L2 standard and provide additional documentation to cover these new features.  However, these additional documents are not exhaustive since there is already a great deal of documentation on V4L2 standard APIs.  Hopefully, this paints a clearer puicture why we have documents for some peripheral drivers, but not all (many conform to Linux Standards and there is documents out there already) and also why you may not find all the information you may need in the driver documents (they primarily cover new features).  I hope this helps.