USB驱动程序的加载(二)
来源:互联网 发布:视频录像软件 编辑:程序博客网 时间:2024/05/16 19:36
作者:menuconfig
转自:http://blog.csdn.net/menuconfig/article/details/6060892
---------------------
| 应用程序 |
---------------------
|usb client driver | (层一)
---------------------
| usbd.dll | (层二)
---------------------
| ohci.dll | (层三)
---------------------
wince的USB驱动分为三层,如上图所示.从上到下,姑且将其称为层一,层二,层三。层一通过gc_usbFuncs来调用层二所提供的功能,而层二通过gc_hcdFuncs来调用层三实现的功能,而应用程序则与层一打交道。
HCD初始化时,会创建一个线程,CHub::HubStatusChangeThead().在此线程中,会监视USB口的状态,如果有设备插入,则有如下的调用步骤:
AttachDevice()->CFunction::EnterOperationalState()->HcdDeviceAttached()->LoadDeviceDrivers()->LoadUsbClientDriver()->LoadGroupDriver()->LoadRegisteredClientDriver().
CDevice::AttachDevie()处理设备的初始化,如读设备描述符,配置地址,加载Client Driver等。
在LoadRegisteredClientDriver()内,会根据不同的Class,来调用相应的UsbDeviceAttach().而它的第一个参数就是gc_usbFuncs.在IssueVendorTransfer()之类的函数中,有一参数LPCUSB_FUNCS,该指针就是指向gc_usbFuncs.
http://www.cnblogs.com/cdfyanghua/archive/2008/05/20/1203556.html
- USB驱动程序的加载(二)
- USB驱动程序的加载(二)
- USB驱动程序的加载
- USB驱动程序的加载(一)
- USB驱动程序的加载(一)
- USB设备驱动程序加载流程
- USB设备驱动程序加载流程
- USB设备驱动程序(二)
- USB设备驱动程序-USB Gadget Driver(二)
- USB设备驱动程序-USB Gadget Driver(二)
- USB设备驱动程序-USB Gadget Driver(二)
- windows CE下的USB设备驱动程序分析(二)
- windows CE下的USB设备驱动程序分析(二)
- USB驱动程序的编写
- USB驱动程序(较详细)二
- 对USB驱动程序的理解
- 对USB驱动程序的理解
- 对USB驱动程序的理解
- Linux基本概念、命令总结
- How to Install mcrypt for php on Mac OSX Lion 10.8 & 10.7 Development Server
- wince下USB总线驱动分析
- nefu 674HELP(bfs)
- Problem C
- USB驱动程序的加载(二)
- java_基本数据类型的包装类
- 比较字符串大小strcmp
- USB驱动程序的加载(一)
- C++_运算符重载
- SQL Server 知识梳理六 存储过程的使用
- WinCE系统 USB Serial实现
- Problem D
- sql列转行,行转列(临时)