使用v4l2开发驱动,编译提示vb2_dma_contig_init_ctx undefined
在centos7下开发驱动,提示如上问题,在drivers/media/v4l2-core/下也找不到videobuf2-dam-contig.c在网上倒是可以搜到这个文件,由于是新手想问一下,这个文件是系统内核提供的么,还是需要另外下载
还有关于v4l2驱动开发方面能不能提供点资料,万分感谢 回复 1# fanwise901
你的内核版本是多少?vb2_dma_contig_init_ctx 是3.x内核才提供的函数。你的内核可以太旧了,如果要用,要不升级内核,要不找回老的驱动。 内核是3.10的,应该是支持的
想问一下这个videobuf2的dma功能需要打开么,这两天在找原因,看了一下发现make menuconfig里没有videobuf2的dma,查找了一下发现后面是-n。
是需要修改一些地方让它变成-y么
回复 2# Tinnal
回复 3# fanwise901
3.10肯定是有的。可以看:
http://lxr.free-electrons.com/source/drivers/media/v4l2-core/videobuf2-dma-contig.c?v=3.10
同时发现你一个拼写错误,把DMA写成DAM。
这个功能从Makefile里可以看出,需要打开CONFIG_VIDEOBUF_DMA_CONTIG配置。
http://lxr.free-electrons.com/source/drivers/media/v4l2-core/Makefile?v=3.10
查看Kconfig, (http://lxr.free-electrons.com/source/drivers/media/v4l2-core/Kconfig?v=3.10 ), 发现VIDEOBUF_DMA_CONTIG选项依赖HAS_DMA选项。你需在把所有的选项都打开才行。 回复 4# Tinnal
在make menuconfig中查找看到的结果如图
HAS_DMA是打开的,可VIDEOBUF2_DMA_CONFIG还是=n
是要把Selected by里面的也修改么 回复 5# fanwise901
选不上吗?这种情况应该能选上呀。 回复 6# Tinnal
谢谢
解决了,我把selected by里面的改成=y就可以了
页:
[1]