【问题标题】:linking v4l2 into a linux kernel driver module for ar1335 camera将 v4l2 链接到 ar1335 摄像头的 linux 内核驱动模块
【发布时间】:2022-09-23 07:15:48
【问题描述】:

我有一个由一个源文件和两个头文件组成的相机驱动程序。它依赖于 V4L2。 我正在尝试在 Raspberry Pi 4B 上编译此驱动程序并将其添加到我现有的 Raspberry Pi OS 安装中。我正在运行最新的 Lite 版本的 Raspberry Pi OS found here。 Linux 内核版本 5.10.63-v8+。

我已经编译了 .dtbo 并将其添加到 /boot/overlays。

生成文件:

obj-m += ar1335_mcu.o

KDIR = /lib/modules/$(shell uname -r)/build

all:
    make -C $(KDIR) M=$(shell pwd) modules

clean:
    make -C $(KDIR) M=$(shell pwd) clean

我运行make 并创建相应的ar1335_mcu.ko

然后我运行 sudo insmod ar1335_mcu.ko 并出现以下错误:

insmod: ERROR: could not insert module ar1335_mcu.ko: Unknown symbol in module

运行dmesg | tail 显示:

[13375.259670] ar1335_mcu: Unknown symbol v4l2_fwnode_endpoint_parse (err -2)

所以它没有找到 v4l2 函数v4l2_fwnode_endpoint_parse。我该如何解决?我已经完成了sudo apt install libv4l-dev。我的驱动程序模块编译过程中是否缺少步骤?

  • 这意味着正在运行的内核不包含驱动程序想要访问的功能。要么你的内核太旧、太新或者补丁太多。你需要了解自己。祝你好运!

标签: linux raspberry-pi driver linux-device-driver v4l2


【解决方案1】:

你解决了这个问题吗?我有同样的问题。除了我有一些额外的未知符号,例如:

未知符号 v4l2_async_unregister_subdev (err -2) 未知符号 v4l2_async_register_subdev (err -2)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-09
    • 1970-01-01
    • 2012-09-05
    • 1970-01-01
    • 1970-01-01
    • 2015-12-16
    • 1970-01-01
    相关资源
    最近更新 更多