通常都是将驱动源码编译为.ok文件,然后通过insmod 或者modprobe加载进系统中,而在脱离网络的设备中就需要将驱动编译进入内核。

已知驱动类型操作步骤:

  1. 查看自己编写驱动的所属类型,例如编写一个led的驱动,那么寻找内核drivers目录中的led驱动目录

  2. 首先打开编写Kconfig文件

    1
    tristate "内容"

    这行的内容是显示在menuconfig的目录中,相当于这个驱动的说明。

  3. 之后修改leds这个目录的Makefile

    1
    obj-$(CONFIG_GPIOLED)	+= gpioled.o

    $()的内容是CONFIG_后面加上Kconfig里添加的内容,+=后面加上文件.o的名字

  4. 最后在内核中编译make menuconfig,可以在设备驱动的led驱动里面看到自己写的驱动。

未知驱动类型操作步骤:

  1. 在drivers的目录下自行创建一个目录

    1
    mkdir nxpops
  2. 在此目录下创建Kconfig文件

    1
    2
    cd nxpops
    vi Kconfig
    1
    2
    3
    4
    5
    6
    7
    8
    9
    menuconfig	NXPOPS
    bool "nxpops driver"
    help
    Put the driver the operation in nxp
    config MULTITOUCH
    tristate "multitouch"
    depends on NXPOPS
    help
    nxp multitouch
  3. 编写Makefile

    1
    obj-$(CONFIG_BEEP)	+= beep.o
  4. 之后修改drivers目录中的Kconfig和Makefile文件

    1
    source "drivers/nxpops/Kconfig"
    1
    obj-y	+= nxpops/