Пытаюсь использовать драйвер камеры OV5640 как модуль в yocto. Итак, я взял код .c и создал make-файл (на основе примера hello-mod)
obj-m += OV5640.o
SRC := $(shell pwd)
all:
$(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules
modules_install:
$(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules_install
clean:
$(MAKE) -C $(KERNEL_SRC) M=$(SRC) clean
Еще я приготовила рецепт на йокто
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 у меня есть .c-код камеры и Makefile.
Но когда я пытаюсь построить, do_compile терпит неудачу и говорит:
фатальная ошибка: v4l2-int-device.h: нет такого файла или каталога
Когда я ищу файл в папке «tmp» yocto, я нахожу его в:
tmp / work-shared / myboard / kernel-source / drivers / media / platform / mxc / capture / v4l2-int-device. час
Вопрос в том, как я могу изменить рецепт, чтобы иметь возможность построить модуль? И это без изменения исходного кода или make-файла.
Примечание:
Я также пытался добавить CFLAGS_prepend = " -I${STAGING_KERNEL_DIR}/drivers/media/platform/mxc/capture "
в рецепт, но это не дало успеха.