我已经开发了一个Linux设备驱动程序。到目前为止,我正在Ubuntu 12.04上使用arm的交叉编译器编译它,然后将它嵌入到我的arm Linux映像中。但是我想知道如何在Linux源代码中添加它,并通过arm Linux的配置给出添加/删除的选项,这样我就可以用Linux源代码编译它了?
有什么想法吗?
发布于 2012-07-31 01:35:41
您需要在放置设备驱动程序的内核源代码子目录的Kconfig文件中添加一个配置选项。您还需要向该目录的Makefile中添加行。显然,您也需要将源文件复制到该目录。
由于您的驱动程序依赖于ARM架构,因此在Kconfig中,您需要设置“取决于”选项,如下所示:
config SND_ARMAACI
tristate "ARM PrimeCell PL041 AC Link support"
depends on ARM_AMBA
你的Makefile看起来会像这样
obj-$(CONFIG_SND_ARMAACI) += snd-aaci.o
snd-aaci-objs := aaci.o
所以现在当你在你的内核源码树中执行make menuconfig时,你会发现你放在Kconfig中的配置选项,你将能够选择将它编译到内核中,或者作为一个模块构建,或者根本不编译。
在驱动程序所在的子系统目录中查找示例。
发布于 2012-07-29 22:32:01
创建补丁并将此补丁的应用添加为解压缩内核tarball之后和配置/编译之前的一个步骤。
https://stackoverflow.com/questions/11710022
复制相似问题