如何将写好的驱动程序编译进内核

以按键驱动为例,驱动源代码为buttons_drv.c

1、进入目录linux-kernel-samsung-dev\drivers\char
            新建目录key_arm,并将驱动程拷贝进去
            mkdir key_drv
    2、在key_arm目录里编写里Kconfig文件,内容如下:
            menu "button driver"
            config BUTTON
                    tristate "BUTTON"
                    default n
                    help
                      The button water made by buttons which was used by platform.
            endmenu
    3、在key_arm目录里编写里Makefile文件,内容如下:
            obj-$(CONFIG_BUTTON) += buttons_drv.o
    4、修改key_arm上级目录char里的Makefile文件
            增加: obj-$(CONFIG_BUTTON) += key_arm/
    5、修改key_arm上级目录char里的Kconfig文件
            增加:source "drivers/char/key_arm/Kconfig"
    6、执行make menuconfig命令弹出菜单,然后按照下面步骤一一进入
            Device Drivers  --->
                Character devices  --->
                    button driver  --->
                        <*> BUTTON
    7、编译内核
             make zImage -j2
    8、将生成的zImage拷贝到/tftpboot
             cp arch/arm/boot/zImage /tftpboot/
    9、重启开发板
            [root@farsight /]# ls /dev/buttons
            /dev/buttons
    10、执行编译好的应用程序测试
            [root@farsight /]# ./button
            ------buttons_open------
            -------buttons_handler------------
            key pressed
            按下
            -------buttons_handler------------
             key up
            松开
            ^C

猜你喜欢

转载自blog.csdn.net/wenyue043/article/details/70597861