linux - 嵌入式linux驱动加载

标签 linux module kernel arm

我正在为嵌入式 linux(ARM) 开发设备驱动程序。 如何编译作为内核一部分生成的 KO 文件, 以某种方式在启动时加载模块?

这是我第一次需要将驱动程序编译到内核中,而不是作为可加载模块。所以我不确定该怎么做。

谢谢, 拉蒙。

最佳答案

对于你的第一个问题,我假设你想将你的驱动程序静态地构建到内核镜像中(而不是作为一个模块)。首先,您在 drivers 目录中选择一个要放置驱动程序文件的目录。假设您想将文件放在 drivers/char/ 中。将您的文件复制到此目录中。 drivers/char/ 目录下会有一个Kconfig 文件,打开它并在endmenu 之前添加这样一个条目。

config MYDRIVER
    bool "This is a driver for something"
    default n
    help
      This is a test driver.

保存文件并在同一目录中打开Makefile。转到文件末尾并添加以下条目。

     obj-$(CONFIG_MYDRIVER)            += mydriver.o

就是这样,您已将文件添加到内核树中。现在,像往常一样,执行 make menuconfig 并选择 MYDRIVER

查看此 Kernel Compilation article了解更多信息。

关于linux - 嵌入式linux驱动加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7012650/

相关文章:

go - 导入 go 包时出现问题

types - 如何为角色组编写模块?

operating-system - 抢占式和非抢占式内核 VS 抢占式和非抢占式调度

linux - IcedTea 6 与 Sun 的 HotSpot 6 的性能对比

linux - 从已知主机名列表中获取 IP 和 MAC 信息的方法

linux - 谁在映射该页面? —反向图

php - 为 cronjobs 使用单独的网络服务器,也是 : MySQL concurrent connections from 2 different servers

Apache + WSGI 运行 Flask,得到 Python ImportError : "cannot import name ..." or "No module named ..."

linux - 如何从 vmlinux 安装 debuginfo 包

python - CMDER 找不到 sudo 和 pip 命令