以按键驱动为例,驱动源代码为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