Linux3.6.7在OK6410平台的移植(六)按键

本次OK6410开发板按键驱动在Linux 3.6.7的移植基本上拷贝这篇文章:http://blog.sina.com.cn/s/articlelist_1667912967_6_1.html(基于platform的ok6410按键中断实验),所以照这篇文章做就可以了。

1.创建基于平台的按键设备模块:

   在arch/arm/mach-s3c64xx/目录下新建plat_btn_device.c,修改Makefile,末尾加入obj-m +=plat_btn_device.o

2.创建基于平台的按键驱动模块:

   在drivers/char/目录下新建plat_btn_driver.c,加入#include <linux/sched.h> ,修改Makefile,末尾加入obj-m +=plat_btn_driver.o

3.创建基于平台的按键应用程序:

   在/test/目录下新建app-button.c,加入修改Makefile,如下:

CROSS=arm-linux-
CFLAGS= -Wall -O2
all: buttons

buttons: buttons.c
$(CROSS)gcc $(CFLAGS) $< -o $@

clean:
@rm -rf buttons *.o

4.编译:

  4.1编译生成按键设备和驱动模块

       在linux 3.6.7主目录下执行make modules后就会在arch/arm/mach-s3c64xx/目录下生成plat_btn_device.ko模块,在drivers/char/目录下生成plat_btn_driver.ko模块

  4.2编译生成按键应用程序
      在linux 3.6.7/test/目录下执行make,生成buttons可执行文件

5.把plat_btn_device.ko和plat_btn_driver.ko拷贝到yaffs2根文件系统目录(我的叫做mdev)下lib/modules/目录下

   把buttons可执行文件拷贝到mdev下usr/bin/目录下

   在mdev/dev/目录下创建设备节点mknode buttons c 232 0

6.生成新的yaffs2根文件下载到开发板,开机进入系统后加载按键设备模块和按键驱动模块再运行buttons程序,就可以看到结果了。如下


[root@STANzxd /]# cd lib/modules/
[root@STANzxd modules]# ls
3.6.7 ok6410_buttons.ko
dev-ok6410-buttons.ko ok6410_leds.ko
[root@STANzxd modules]# insmod dev-ok6410-buttons.ko
[root@STANzxd modules]# insmod ok6410_buttons.ko
ok6410 Buttons Driver
probe:ok6410_buttons_probe
[root@STANzxd modules]# buttons
buttons_value: 1
buttons_value: 2
buttons_value: 2
buttons_value: 3
buttons_value: 4
buttons_value: 4
buttons_value: 4
buttons_value: 4
buttons_value: 5
buttons_value: 6

   


<script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/buttonLite.js#style=-1&uuid=&pophcol=3&lang=zh"></script> <script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/bshareC0.js"></script>
阅读(4) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值