我已经开发了Linux设备驱动程序。截至目前,我正在使用arm交叉编译器在Ubuntu 12.04上对其进行编译,然后将其插入到我的arm Linux镜像中。但是我想学习如何在Linux源代码中添加它,并通过配置arm Linux提供并提供添加/删除的选项,以便可以使用Linux源代码编译来对其进行编译?
有任何想法吗?
最佳答案
要在arm体系结构中交叉编译您自己的驱动程序,您必须执行以下一些步骤。
/linux_source_code/drivers/my_drvr/my_driver.c
obj-$(CONFIG_MY_DRIVER) += my_driver.o
内部创建一个Makefile并保存此文件。这看起来像
/linux_source_code/drivers/my_drvr/Makefile
Kconfig
文件(使用vi任何编辑器),并在此put内配置MY_DRIVER
tristate“my driver” //给出您的驱动程序描述,例如供应商名称等。
取决于ARM
如果是ARM,则默认为y
救命
我的驱动程序模块。
/linux_source_code/drivers/my_drvr/Kconfig
Makefile
中的Kconfig
和Makefile
文件中添加Kconfig
和/linux_source_code/drivers/Makefile
文件和
/linux_source_code/drivers/Kconfig
obj-y + = my_drvr /
要么
obj-$(CONFIG_MY_DRIVER)+ = my_drvr /
来源“drivers / my_drvr / Kconfig”
Kconfig
文件添加到特定于体系结构的配置文件中,该文件将位于kernel_source/arch/arm/configs/--defconfig
中,位于最后一行的下面CONFIG_MY_DRIVER = y
注意:-最后一步会根据您的体系结构而有所不同,因此请保重。
现在,您可以使用make命令来编译驱动程序。
(例如:sun7i_defconfig)
关于linux-kernel - 在Linux源代码中添加新的驱动程序代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11710022/