是否有任何默认机制来启用调试v4l2驱动程序。基本上,我想通过设置/d来检查动态调试,在make中设置编译时标志也可以。
目前,我已经设置如下,但没有得到多少信息。
echo -n 0xFFFF>/sys/module/videobuf2_core/parameters/debug有人能帮我弄到详细的v4l2日志吗?
发布于 2014-06-22 10:21:02
查看代码:例如,文件drivers/media/v4l2-core/v4l2-ioctl.c可能是比较有趣的文件之一,因为它向您展示了一些用户/内核空间的交互。
在这个文件中,您可以看到很多pr_cont、pr_info等。虽然printk总是打印出来的,但其他的只有在启用的情况下才能执行。有关这方面的所有细节都可以在http://lwn.net/Articles/487437/上找到。
讨厌的方法是用printk替换一些pr_cont或pr_info。您甚至可以使用#define来完成此操作。如果您只想启用其中的3或4个,甚至添加您自己的特殊方法,这可能是最快的方法。
最好的方法就是看看这个系统是如何被使用的。如果您可以启用动态调试,您可以尝试,就像这里很好地描述了https://lwn.net/Articles/434833/。
最后,最简单的方法可能是查看内核配置。也许您已经知道源目录中的命令make menuconfig。您可以编辑所有不同的设置,就像vi中一样,您可以使用/进行搜索。在特定模块的旁边,通常还可以启用或禁用调试选项。如果这还不够,您可以始终更改.config文件中内核的全局调试级别。
您可能感兴趣的一个特定标志是
CONFIG_VIDEO_ADV_DEBUG
Say Y here to enable advanced debugging functionality on some
V4L devices.
In doubt, say N.
Symbol: VIDEO_ADV_DEBUG [=y]
Prompt: Enable advanced debug functionality on V4L2 drivers
Location:
-> Device Drivers
-> Multimedia support (MEDIA_SUPPORT [=y])
Defined at drivers/media/v4l2-core/Kconfig:11
Depends on: MEDIA_SUPPORT [=y]祝好运
发布于 2020-10-15 10:47:38
请参阅正式文档这里
为/sys/class/ video 4linux//中的每个视频、vbi、无线电或swradio设备创建的“dev_debug”属性允许您启用文件操作的日志记录。
我在真实的配置上测试了这一点,它工作正常(它会打印所有信息!),请参见下面的命令:
echo 0x1f > /sys/class/video4linux/video1/dev_debug https://stackoverflow.com/questions/24330671
复制相似问题