USB(1)
来源:互联网 发布:wdcp如何查看php版本 编辑:程序博客网 时间:2024/05/16 03:46
如何编写Usb驱动
指定驱动支持的设备
注册 usb_driver
在所有的usb驱动中都必须要定义如下结构体
如何编写Usb驱动
在drivers/usb下有个一个usb驱动的框架usb-skeleton.c,可以仿照这个来进行编写
指定驱动支持的设备
硬件厂商提供的usb设备有vendor 和product_id参数,可以通过查询硬件手册获取
也可以将设备插在主机上通过lsusb 来获取
我们通过如下方式来指定驱动支持的设备
/* Define these values to match your devices */
#define USB_SKEL_VENDOR_ID 0xfff0
#define USB_SKEL_PRODUCT_ID 0xfff0
/* table of devices that work with this driver */
static struct usb_device_id skel_table [] = {
{ USB_DEVICE(USB_SKEL_VENDOR_ID, USB_SKEL_PRODUCT_ID) },
{ } /* Terminating entry */
};
MODULE_DEVICE_TABLE(usb, skel_table);
注册 usb_driver
在所有的usb驱动中都必须要定义如下结构体
struct usb_driver
例如:
static struct usb_driver skel_driver = {
.name = "skeleton",
.probe = skel_probe,
.disconnect = skel_disconnect,
.id_table = skel_table,
};
在这个结构体中定义了probe方法以及对于的id表
接着调用usb_register 向core层注册驱动
- USB(1)
- usb驱动-1-usb结构,协议
- Linux-USB驱动(1)-USB总线介绍
- LINUX USB 系统(1)
- USB基本知识-1
- usb 分析(1)
- LINUX USB 系统(1)
- Linux USB子系统 (1)
- linux usb鼠标(1)
- USB原理(1)
- usb学习笔记1
- USB初学1
- Linux USB子系统 (1)
- usb-serial-1
- USB OTG(1)
- USB协议学习1
- usb驱动 笔记1
- usb hid study(1)
- 第二章 数据契约
- 全程视频指导刷机帖,新手刷机必阅!(含各类Hero ROM与最新Radio)(转http://www.hiapk.com/thread-53163-1-1.html)
- QQ信息发送机
- 有进度条的界面载入
- 高校图书馆网站
- USB(1)
- 没有进度条的页面载入
- 安装uclinux编译器出错时的解决方法
- 转:用Visio画UML图 类结构图(进阶篇)
- C 语言的谜题
- IIS出现Server Application Error
- pwMatrix
- SELECT INTO 和 INSERT INTO SELECT 两种表复制语句 (以后在写SQL时,要有这种思想!!!)
- 语言的歧义