gpt4 book ai didi

linux - 作为内置驱动程序构建时,驱动程序不工作

转载 作者:太空宇宙 更新时间:2023-11-04 03:51:34 24 4
gpt4 key购买 nike

我为 beagle-bone 编写了一个基本字符驱动程序,它使用 printk 通过工作队列和微线程以 1 秒的间隔打印两条消息。

首先,我将其构建为模块驱动程序,生成 .ko 文件,使用 insmod 命令加载它,通过 dmesg 查看时会出现打印。

然后我构建为内置驱动程序并加载 uImage,启动后我检查了 dmesg 打印。但没有任何印记。

在.config文件中

 CONFIG_MY_DRIVER=y

所以我认为它被视为内置驱动程序。

我如何确认它是否确实内置在最终图像中。构建时没有报错。

加载内置驱动程序是否需要执行任何其他步骤。

如果我在任何基础知识上出错,请原谅我。我对 Linux 真的很陌生。

最佳答案

这意味着您可能将其添加到 Kconfig 文件的某个位置:“CONFIG_MY_DRIVER=y”

但是,你把它添加到Makefile了吗?它的工作原理是这样的,然后内核在构建图像期间,获取所有这些指令“CONFIG_*”并使用它从 Makefile 构建特定的源文件。

示例:

cat fs/ext2/Makefile
ext2-$(CONFIG_EXT2_FS_SECURITY) += xattr_security.o

cat fs/ext2/Kconfig
config EXT2_FS_SECURITY
bool "Ext2 Security Labels"
depends on EXT2_FS_XATTR

因此,在上面的示例中,如果您的源文件是 xattr_security.c,那么在构建时,您应该在 fs/ext2 目录中获取 xattr_security.o 文件。如果您的文件是在编译过程中构建的,您还应该看到它。

关于linux - 作为内置驱动程序构建时,驱动程序不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26141995/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com