Chinaunix首页 | 论坛 | 博客
  • 博客访问: 20207
  • 博文数量: 7
  • 博客积分: 26
  • 博客等级: 民兵
  • 技术积分: 80
  • 用 户 组: 普通用户
  • 注册时间: 2012-06-19 21:17
个人简介

国产平台专业Linux驱动开发

文章分类

全部博文(7)

文章存档

2014年(6)

2012年(1)

我的朋友

分类:

2012-07-18 16:06:24

由于要做一个usb从机,而linux内核自带的usb转串口方案又被pass掉了,因此只好老老实实的写usb gadget驱动了。而我对windows上的东东一窍不通,也就只能在linux下面调试了,幸运的是Linux自带了usb-skeleton.c,为我们提供了一个最基础的USB驱动程序,即USB骨架程序,可被看作一个最简单的USB设备驱动实例。尽管USB设备驱动千差万别,但基本上都是这个模板。可以说,掌握了这个骨架程序,就基本掌握了Linuxusb设备驱动。后续,我会详细叙述这个程序,基于2.6.27

先说说怎么使用这个程序来测试吧,很简单,主要改2个地方就可以了,如下:

/* Define these values to match your devices */

#define USB_SKEL_VENDOR_ID      0xfff0

#define USB_SKEL_PRODUCT_ID    0xfff0

也就是PIDVID,只要把你的usb gadget驱动的PIDVID与上述定义的一致,就可以使用了。我使用的时候一般都改这一块的宏定义,把PIDVID改的与gadget设备一致。

然后重新编译usb-skeleton.c,生成usb-skeleton.ko,加载模块insmod usb-skeleton.ko,如果从设备插入了电脑,就会识别到此从设备。

加载了模块usb-skeleton.ko后会在/dev下生成设备文件skel0。接下来就可以测试读写了。

测试写: echo “test string” > /dev/skel0

从设备就会收到“test string”字符串。

 

测试读: cat /dev/skel0

从设备通过USB发送“string test

电脑主机端就会出现  string test

 

 

O(_)O,这个万能驱动不错吧。

阅读(1401) | 评论(1) | 转发(0) |
0

上一篇:没有了

下一篇:linux桌面打印机配置指南

给主人留下些什么吧!~~

莫佛20122013-01-24 10:28:05

你好,我想问一下,你从机用的是什么驱动,因为我也要弄一个嵌入式linux的从设备驱动,悲催的我也是usb转串口不能用,所以想请教一下博主,谢谢