我编写了一个简单的角色设备驱动程序,并希望将其交叉编译以用于吊板(ARM体系结构)。我的档案名称是gDev.c
。我将文件复制到kernel/drivers/char
了Craneboard源代码的目录中。我Kconfig
在同一目录中修改了文件,并在其中添加了以下几行。
config TEST_GCHARD
tristate "My Character driver"
default m
我将以下行添加到同一目录中的Makefile中。
obj-$(CONFIG_TEST_GCHARD) += gDev.o
我在am3517_crane_defconfig
inarch/arm/configs
目录中添加了以下行。
CONFIG_TEST_GCHARD=m
我的问题是,当我将它设置为m
中am3517_crane_defconfig
,是没有得到包括编译的文件。但是,如果我将其更改为y
,它将被编译。但是,我需要将其作为模块,insmod
在主板启动后必须将其作为模块。请指导我是否缺少任何步骤。谢谢。
这是因为您必须在单独的过程中构建模块:
make modules
另外,您可以使用以下命令安装它们:
make modules_install
如果这不是针对您自己的系统,而是针对另一个系统(例如嵌入式系统),则应将它们“安装”在特定目录中,然后使用INSTALL_MOD_PATH
以下命令将其复制到目标上:
make INSTALL_MOD_PATH=/tmp/modules_for_target modules_install
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句