Re: v4l2 kernel module debugging methods

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Dec 11, 2015 at 10:50 AM, Fabien DESSENNE
<fabien.dessenne@xxxxxx> wrote:
> Hi Ran,
>
> On 12/10/2015 10:46 PM, Ran Shalit wrote:
>> On Sun, Dec 6, 2015 at 2:23 AM, Nicolas Dufresne
>> <nicolas.dufresne@xxxxxxxxxxxxx> wrote:
>>> Le dimanche 06 décembre 2015 à 00:00 +0200, Ran Shalit a écrit :
>>>> Hello,
>>>>
>>>> I would like to ask a general question regarding methods to debug a
>>>> v4l2 device driver.
>>>> Since I assume that the kernel driver will probably won't work in
>>>> first try after coding everything inside the device driver...
>>>>
>>>> 1. Do you think qemu/kgdb debugger is a good method for the device
>>>> driver debugging , or is it plain printing ?
>>>>
>>>> 2. Is there a simple way to display the image of a YUV-like buffer in
>>>> memory ?
>>>
>>> Most Linux distribution ships GStreamer. You can with GStreamer read
>>> and display a raw YUV images (you need to know the specific format)
>>> using videoparse element.
>>>
>>>    gst-launch-1.0 filesrc location=my.yuv ! videoparse format=yuy2 width=320 height=240 ! imagefreeze ! videoconvert ! autovideosink
>>>
>>> You could also encode and store to various formats, replacing the
>>> imagefreeze ... section with an encoder and a filesink. Note that
>>> videoparse unfortunatly does not allow passing strides array or
>>> offsets. So it will work only if you set the width/height to padded
>>> width/height.
>>>
>>> regards,
>>> Nicolas
>>
>> Hi Nicolas,
>>
>> Thank you for the comment.
>> As someone expreinced with v4l2 device driver, do you recommened using
>> debugging technique such as qemu (or kgdb) or do you rather use plain
>> printing ?
>>
>> Thank you very much,
>> Ran
>
>
> You can get several level of logs.
> First, you can enable v4l2 core debug logs. Example:
>   echo 3 > /sys/class/video4linux/video0/debug
> More details:
> https://www.kernel.org/doc/Documentation/video4linux/v4l2-framework.txt
>
> If the tested driver uses the v4l2_mem2mem framework you can get M2M
> logs with:
>   echo Y > /sys/module/v4l2_mem2mem/parameters/debug
>
> Get also internal vb2 logs with:
>   echo 3 > /sys/module/videobuf2_core/parameters/debug
>
> And optionally more logs using the dynamic debug feature:
> (https://www.kernel.org/doc/Documentation/dynamic-debug-howto.txt). Example:
>   echo "module my_driver +p" > /sys/kernel/debug/dynamic_debug/control
>
> Fabien

Thank you very much for the helpful ideas.

Regards,
Ran
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux