Module 如何在yocto中插入OV5640摄像头驱动程序作为模块

Module 如何在yocto中插入OV5640摄像头驱动程序作为模块,module,yocto,bitbake,Module,Yocto,Bitbake,我正在尝试将OV5640相机驱动程序用作yocto中的一个模块。因此,我使用.c代码创建了一个makefile(基于hello mod示例) 我还用yocto做了一个食谱 DESCRIPTION = "..." LICENSE = "GPL-2.0" LIC_FILES_CHKSUM = "\ file:// ${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 \ " inherit module SRC

我正在尝试将OV5640相机驱动程序用作yocto中的一个模块。因此,我使用.c代码创建了一个makefile(基于hello mod示例)

我还用yocto做了一个食谱

DESCRIPTION = "..."
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "\
   file:// ${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6 \
"

inherit module

SRCREV = "${AUTOREV}"
BPV = "0.0.0"
PV = "${BPV}+git${SRCREV}"

SRC_URI = "git://git/my-repo;protocol=ssh;user=git;branch=master \
"

S = "${WORKDIR}/git"
在git repo中,我有相机的.c代码和Makefile

但当我尝试构建时,它在do_compile上失败,并说:

致命错误:v4l2 int device.h:没有这样的文件或目录

当我在yocto的“tmp”文件夹中搜索该文件时,我在:
tmp/work shared/myboard/kernel source/drivers/media/platform/mxc/capture/v4l2 int device.h

问题是如何修改配方以构建模块?这不需要更改源代码或makefile

注:
我还尝试添加
CFLAGS_prepend=“-I${STAGING_KERNEL_DIR}/drivers/media/platform/mxc/capture”

添加到配方,但没有成功。

您需要修改生成文件并添加:

ccflags-y += -I$(KERNEL_SRC)/drivers/media/platform/mxc/capture/

您也可以尝试从树中编译它,您需要设置变量KERNEL\u SRC,为您的环境编写源代码,然后进行编译。

从哪里复制C代码?它是否使用“内核内构建”进行编译?您使用的是YP的哪个版本/分支?你能分享整个编译日志吗?
ccflags-y += -I$(KERNEL_SRC)/drivers/media/platform/mxc/capture/