gpt4 book ai didi

linux-kernel - 将新的驱动程序代码添加到 linux 源代码

转载 作者:行者123 更新时间:2023-12-03 13:13:29 26 4
gpt4 key购买 nike

我开发了一个 Linux 设备驱动程序。到目前为止,我正在使用 arm 的交叉编译器在 Ubuntu 12.04 上编译它,然后将它安装到我的 arm Linux 镜像中。但是我想学习如何在Linux源代码中添加它,并通过arm Linux的配置给出添加/删除的选项,以便我可以用Linux源代码编译来编译它?

有任何想法吗?

最佳答案

要在 arm 架构中交叉编译您自己的驱动程序,您必须按照下面提到的一些步骤进行操作。

  • 为您的驱动程序在驱动程序(位于 Linux 源代码中)中创建一个类似 my_drvr 的目录,并将您的驱动程序 (my_driver.c) 文件放在该目录中。它看起来像/linux_source_code/drivers/my_drvr/my_driver.c
  • 在您的驱动程序目录中创建一个 Makefile(使用 vi 任何编辑器)并在此放置 obj-$(CONFIG_MY_DRIVER) += my_driver.o并保存此文件。这将显示为 /linux_source_code/drivers/my_drvr/Makefile
  • 创建一个Kconfig驱动程序目录中的文件(使用 vi 任何编辑器)和这个 put

    配置 MY_DRIVER
    tristate“我的驱动程序”//提供您的驱动程序描述,如供应商名称等。
    依赖于 ARM
    默认 y 如果 ARM
    帮助
    我的驱动模块。
  • 保存此文件,它将显示为 /linux_source_code/drivers/my_drvr/Kconfig
  • 添加两个 MakefileKconfig Linux 源驱动程序中的文件 MakefileKconfig位于 /linux_source_code/drivers/Makefile 的文件
    /linux_source_code/drivers/Kconfig
  • 在 Makefile 的最后一行添加下面

    obj-y += my_drvr/

    或者

    obj-$(CONFIG_MY_DRIVER) += my_drvr/
  • 在 Kconfig 文件的最后一行添加下面

    源“驱动程序/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/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com