在我自己的元层上加载我自己的设备驱动程序作为Yocto中的内置程序
我为硬件编写了自己的USB驱动程序,我想将此驱动程序添加为内置。我看过这篇文章,他们创建了一个配方,设置为模块而不是内置的 你们能帮我创建一个将模块设置为内置模块的配方吗在我自己的元层上加载我自己的设备驱动程序作为Yocto中的内置程序,c,linux,linux-device-driver,embedded-linux,yocto,C,Linux,Linux Device Driver,Embedded Linux,Yocto,我为硬件编写了自己的USB驱动程序,我想将此驱动程序添加为内置。我看过这篇文章,他们创建了一个配方,设置为模块而不是内置的 你们能帮我创建一个将模块设置为内置模块的配方吗 谢谢您的时间。您不能在Linux内核中内置外部模块。因此,您需要将驱动程序放入Linux内核树的drivers/usb/(根据硬件类型,如果它是主机控制器驱动程序或drivers/usb/dwc*或drivers/usb/gadget/udc如果它是gadget驱动程序,则需要将其放入drivers/usb/gadget/u
谢谢您的时间。您不能在Linux内核中内置外部模块。因此,您需要将驱动程序放入Linux内核树的
drivers/usb/
(根据硬件类型,如果它是主机控制器驱动程序或drivers/usb/dwc*
或drivers/usb/gadget/udc
如果它是gadget驱动程序,则需要将其放入drivers/usb/gadget/udc/
)
然后您需要在Kconfig
和drivers/usb
中添加相应的配置。最后,您需要在defconfig/.config中为building启用这个内置驱动程序
总之,
驱动程序/usb
Kconfig
和Makefile
。例如,CONFIG\u USB\u HW\u HCD
file://defconfig
在您的SRC\u URI
中drivers/usb
,添加Kconfig,Makefile
条目git Add
+git commit
.bbappend
文件并添加此修补程序。您可以将此.bbappend
文件放置在任何自定义层或meta intel本身中.bbappend
文件中这样,您就不需要对同一个Linux内核进行单独的repo。您不能在Linux内核中内置外部模块。因此,您需要将驱动程序放入Linux内核树的
drivers/usb/
(根据硬件类型,如果它是主机控制器驱动程序或drivers/usb/dwc*
或drivers/usb/gadget/udc
如果它是gadget驱动程序,则需要将其放入drivers/usb/gadget/udc/
)
然后您需要在Kconfig
和drivers/usb
中添加相应的配置。最后,您需要在defconfig/.config中为building启用这个内置驱动程序
总之,
驱动程序/usb
Kconfig
和Makefile
。例如,CONFIG\u USB\u HW\u HCD
file://defconfig
在您的SRC\u URI
中drivers/usb
,添加Kconfig,Makefile
条目git Add
+git commit
.bbappend
文件并添加此修补程序。您可以将此.bbappend
文件放置在任何自定义层或meta intel本身中.bbappend
文件中这样,您就不需要对同一个Linux内核进行单独的repo。我希望您的初始模块将具有module_init()和module_exit调用 要使这个usb模块成为内置内核的一部分,首先要修改您的源代码,删除module_init或module_exit调用add platform calls probe、init等/ 将源文件复制到适当的源目录,如“driver/usb/*” 在KCONFIG文件中添加一个条目,其中包含该驱动程序的一些描述,并为其依赖项添加规则 在Makefile中添加用于条件编译的条目
使用make menuconfig配置内核以启用配置标记并构建内核我希望初始模块将有module_init()和module_exit调用 要使这个usb模块成为内置内核的一部分,首先要修改您的源代码,删除module_init或module_exit调用add platform calls probe、init等/ 将源文件复制到适当的源目录,如“driver/usb/*” 在KCONFIG文件中添加一个条目,其中包含该驱动程序的一些描述,并为其依赖项添加规则 在Makefile中添加用于条件编译的条目
使用make menuconfig配置内核以启用配置标记并构建内核这是一个手动过程。手动运行cp命令。。我们需要为它编写任何配方吗?你不需要创建新的配方。您必须具有来自元bsp层的内核编译配方。例如,beaglebone black的meta bbb使用来自的defconfig。我的meta层中有此驱动程序源代码,我希望将其复制到linux intel源代码中…是的,您需要将驱动程序单独复制到linux内核源代码树的drivers/usb中。然后添加Kconfig和Makefile条目。然后将此条目添加到您的defconfig/。config@md.jamal:我不知道你所说的手动复制是什么意思。您需要内核的驱动程序部分,所以将其放在内核树中。这是唯一的选择。如果您希望驱动程序作为模块,您可以将其作为外部构建模块或从内核源代码构建。这是一个手动过程。手动运行cp命令。。我们需要为它编写任何配方吗?你不需要创建新的配方。您必须具有来自元bsp层的内核编译配方。例如,小猎犬的元bbb