qswul
驱动牛犊
驱动牛犊
  • 注册日期2005-03-23
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3538回复:1

求助:VxWorks下做USB host驱动,无法识别U盘

楼主#
更多 发布于:2008-07-16 20:18
打算在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?


于是我增加了鼠标的初始化组件,但插上鼠标后依然没有找到这个设备。

帮帮忙,这个问题已经困扰很多天了
hwybird
论坛版主
论坛版主
  • 注册日期2006-11-11
  • 最后登录2010-08-31
  • 粉丝0
  • 关注0
  • 积分988分
  • 威望359点
  • 贡献值0点
  • 好评度96点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-09-11 22:24
USBD的下层还有UHCD呢,通过回调函数可以获取对应信息。USBD用于上传、下达并处理标准USB请求,再上面的协议则由USBDriver或USBApplication处理,包括HID、BULK等,所以向楼主这样的情况加载BLUK的驱动程序就O了。
驱动鼠标就加载USBHID鼠标驱动程序
游客

返回顶部