基于OMAPL138的Linux设备驱动程序开发入门

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

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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值