阅读:3599回复:1
求助:VxWorks下做USB host驱动,无法识别U盘
打算在vxworks下实现对USB盘的支持,CPU是PowerPC,通过PCI总线外接一个USB控制器,支持USB2.0
已经inlcude以下组件: INCLUDE_EHCI INCLUDE_USB INCLUDE_EHCI_INIT INCLUDE_USB_INIT INCLUDE_USB_MS_BULKONLY INCLUDE_USB_MS_BULKONLY_INIT 1、目前PCI已经配置OK,usbInit()成功,找到EHCD控制器并usrUsbHcdEhciAttach()成功,usrUsbBulkDevInit()也初始化成功,当插上USB盘时,可以产生中断并调用usbEhcdISR,但是USBD始终无法调用bulk-only向USBD注册的回调函数usbBulkDevAttachCallback(),导致驱动无法加载;输入devs,没有出现"/bd",这种现象应该从什么入手解决? 2、当USB盘插上后,我觉得流程是:USBD应该先读取USB盘的deviceClass、deviceSubClass、deviceProtocol,然后与bulk-only驱动事先所注册的参数比较,如果匹配,就调用bulk-only注册的回调函数usbBulkDevAttachCallback()。如果这个流程没有问题,那么请问USBD是通过什么接口获取USB盘的deviceClass、deviceSubClass、deviceProtocol? 于是我增加了鼠标的初始化组件,但插上鼠标后依然没有找到这个设备。 帮帮忙,这个问题已经困扰很多天了 |
|
沙发#
发布于:2008-09-11 22:24
USBD的下层还有UHCD呢,通过回调函数可以获取对应信息。USBD用于上传、下达并处理标准USB请求,再上面的协议则由USBDriver或USBApplication处理,包括HID、BULK等,所以向楼主这样的情况加载BLUK的驱动程序就O了。
驱动鼠标就加载USBHID鼠标驱动程序 |
|