embedded式linux驱动程序加载

我正在开发一个embedded式Linux(ARM)的设备驱动程序。 如何编译作为内核的一部分生成的KO文件,以便在启动时加载模块

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

谢谢拉蒙

对于你的第一个问题,我假设你想把你的驱动程序静态地构建到内核映像中(而不是作为一个模块)。 首先,您要在驱动程序目录中选择要放置驱动程序文件的目录。 假设你想把你的文件放在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

有关更多信息,请参阅此内核编译文章 。

你需要建立你的设备驱动程序作为一个内置的 。 您可以手动编辑您的内核.config文件,并将属于您模块的CONFIG选项的“= m”更改为“= y”,也可以使用make menuconfig<M>更改为您设备驱动程序的<*>

 before -> <M> Your Device Driver Name Here after -> <*> Your Device Driver Name Here