Revision History
Draft Date Revision No. Description
2016/05/25 V1.1 1.模板更新。
2015/01/27 V1.2 1.优化按键设备驱动程序。
2.优化按键设备驱动测试程序。
2014/12/21 V1.1 1.修改LED设备驱动测试方法。
2.优化LED、按键设备驱动程序。
2013/12/25 V1.0 1.初始版本。
目 录
1 LED设备驱动程序 3
1.1 LED设备驱动程序解析 3
1.2 编译LED设备驱动程序 6
1.3 LED设备驱动测试脚本解析 8
2 按键设备驱动程序 9
2.1 按键设备驱动程序解析 9
2.2 编译按键设备驱动程序 13
2.3 按键设备驱动测试程序解析 15
2.4 编译设备驱动测试程序 17
3 设备驱动模块静态编译进内核 17
更多帮助 20
1LED设备驱动程序
1.1LED设备驱动程序解析
开发板LED编号和GPIO对应关系如下:
表 1
开发板型号 GPIO0[0] GPIO0[5] GPIO0[1] GPIO0[2]
TL138/1808-EVM D7 D6 D9 D10
TL138/1808-EasyEVM D7 D6 D9 D10
TL138/1808-EthEVM D7 D6 D9 D10
TL138/1808F-EasyEVM \ GD1 GD2 GD3
TL138/1808F-EVM \ D1 D2 D3
开发板资料光盘中有LED设备驱动程序源码,其路径为:
led.c:demo\driver\linux-3.3\led\led.c
下面以TL138/1808-EVM开发板为例讲解此设备驱动程序。
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/gpio.h>
#include <linux/platform_device.h>
/* 因为使用了平台相关的头文件,所以编译时需要ARCH=arm */
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <mach/da8xx.h>
#include <mach/mux.h>
/*定义4个用户LED对应的GPIO,开发板LED对应编号分别是D7,D6,D9,D10 */
#define DA850_USER_LED0 GPIO_TO_PIN(0, 0)
#define DA850_USER_LED1 GPIO_TO_PIN(0, 5)
#define DA850_USER_LED2 GPIO_TO_PIN(0, 1)
#define DA850_USER_LED3 GPIO_TO_PIN(0, 2)
/* assign the tl som board LED-GPIOs*/
static const short da850_evm_tl_user_led_pins[] = {
/* These pins are definition at <mach/mux.

这篇博客介绍了基于OMAPL138的Linux设备驱动开发,涵盖LED和按键设备驱动的解析、编译及测试。通过分析LED设备驱动程序,展示了GPIO与LED的映射,并提供了LED驱动测试脚本,实现LED循环点亮。同时,讨论了按键设备驱动的结构和测试方法,帮助读者理解Linux下硬件驱动的实现过程。
最低0.47元/天 解锁文章
2314

被折叠的 条评论
为什么被折叠?



