USB鼠标设备驱动程序简单实现(一)

本文介绍了Linux下USB驱动程序的基本结构,包括主机控制器驱动和设备驱动,并详细阐述了一个USB鼠标设备驱动的实现过程,涉及到驱动的注册、 urb分配等步骤。在去除内核默认USB鼠标驱动后,通过实验验证了自编写的驱动程序能捕获到鼠标操作的原始数据。
摘要由CSDN通过智能技术生成


一、Linux下的USB驱动程序

分离和分层是Linux下驱动程序开发采用的最基本的形式,USB驱动开发在主机端主要涉及两个部分:主机控制器驱动和设备驱动。

主机控制器驱动主要是和具体的Soc相关的,它来识别USB设备,安装对应的设备驱动程序,提供对USB设备的读写函数。

设备驱动主要是根据具体的USB设备对USB主机驱动提供的读写函数获得的数据进行处理,实现这种USB设备特有的功能。具体的层次结构如下所示:


基本的开发环境:

操作系统:Ubuntu12.04

内核:Linux-3.0.86

GUI :Qtopia2.2.0

交叉编译工具gcc版本 : 4.5.1


二、USB鼠标设备驱动的实现

这一部分主要完成的功能是:实现一个简单的USB鼠标的设备驱动程序,读取鼠标进行操作所产生的原始的数据。

1、准备工作

默认的在Linux内核当中已经配置上了USB鼠标相关的驱动,所以为了自己编写的驱动程序能加载进内核和使用,先要去掉内核上的USB鼠标驱动。进入内核目录,执行make menuconfig,执行如下配置:

-> Device Drivers
	-> HID Devices
	[ ]USB Human Interface Device (full HID) support
2、设备驱动编写

a、分配、设置、注册一个usb_driver的结构体变量,为了方便定义了如下一个结构体:


                
  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值