usb
lxy9712
这个作者很懒,什么都没留下…
展开
-
Linux 下使用USB 网络
Andrew Huang 转载请注明作者及联络方式. 在介绍USB的驱动开发时,我通常会用用Linux的的USB网络来演示,它兼容RNDIS网络,一台Linux即可充当USB的device端,也可以由另一台Linux来充当USB的Host端,Host端的也可以由安装的微软的标准的Rndis驱动来充当. 这种网络有相当强的实用价值,而且完整实现的Linux转载 2016-03-21 14:26:41 · 715 阅读 · 0 评论 -
USB设备驱动开发-USB Gadget Driver(一)
一、Linux USB Gadget Driver功能 为了与主机端驱动设备的USB Device Driver概念进行区别,将在外围器件中运行的驱动程序称为USB Gadget Driver。其中,Host端驱动设备的驱动程序是master或者client driver,设备端gadget driver是slave或者function driver。 Gad转载 2016-03-22 16:23:18 · 570 阅读 · 0 评论 -
USB设备驱动程序-USB Gadget Driver(二)
1. UDC驱动是作为platform driver向platform子系统注册的,因此UDC驱动首先就需要实现struct platform_driver结构中的函数成员: struct platform_driver { int (*probe)(struct platform_device *); //驱动和设备绑定转载 2016-03-22 16:24:53 · 827 阅读 · 0 评论 -
USB设备驱动程序-USB Gadget Driver(三)
Gadget设备层 这一层是可选的,介于UDC驱动层和Gadget功能层之间。主要源码在composite.c和composite.h文件中,设备层其实和硬件无关,主要实现一些通用性的代码,减少gadget功能层的代码重复工作。Gadget设备层其中承上启下的作用,联系Gadget功能层和UDC驱动层。 将composite源码独立出来,还为复合设备的实现提转载 2016-03-22 16:27:36 · 913 阅读 · 0 评论 -
USB设备驱动程序-USB Gadget Driver(四)
Gadget 功能层 Gadget功能层完成USB设备的具体功能,其表现的形式各不相同,如键盘、鼠标、存储和网卡等等。功能层不仅涉及到Gadget驱动相关的内容,还涉及到其功能相关的内核子系统。如存储还涉及到内核存储子系统,网卡还涉及到网络驱动子系统。因此,Gadget功能的代码非常复杂。这里以zero.c为例,这个模块只是简单地将接收的数据回显回去。 一、数据结构 首先需要转载 2016-03-22 16:28:24 · 870 阅读 · 0 评论