[VxWorks] Vxworks下USB盘识别问题

songtl   2007-7-18 11:46 楼主
我用的是Tornado2.2,Vxworks版本是5.5,包含USB模块,
新建立工程后,工程中加入USB支持,选中下列组件:
Hardware->Buses->USB Hosts->USB Host Stack
Hardware->Buses->USB Hosts->OHCI
Hardware->Buses->USB Hosts->UHCI
Hardware->Buses->USB Hosts->EHCI
Hardware->Buses->USB Hosts->USB Host Init->USB Host Stack Init
Hardware->Buses->USB Hosts->USB Host Init->OHCI Init
Hardware->Buses->USB Hosts->USB Host Init->UHCI Init
Hardware->Buses->USB Hosts->USB Host Init->EHCI Init
在工程中添加USB设备的支持,添加下列组件:
Hardware->Peripherals->USB Devices->Mass Storage - Bulk
Hardware->Peripherals->USB Devices->USB Devices Init->Bulk Mass Storage Init

可最后在目标机上,程序执行到usrUsbHcdUhciAttach函数时不返回,请问怎么回事?
如果是我做的方法不对,该怎么做?我的目的很简单,就是想在Vxworks下将采集数据保存在U盘里。

回复评论 (7)

不返回?!可以具体跟踪下代码,不过,最有可能的是驱动置了一个中断---就是执行某个寄存器操作使得芯片产生中断,然后就等中断发生,中断由事先设计好的ISR捕获并告知(通过信号量或者管道等手段)这个函数,如果中断发生了,函数很快得到消息就接着执行,否则要么超时,要么一直等。这个做法就是一种确认芯片工作正常,中断挂载正常的常用做法。
啊,当然,你的情况不一定是这样啊。只是说这种情况是有可能的。
点赞  2007-7-25 16:33
一个系统,不太可能同时有UHCI,OHCI和EHCI控制器。最好先确定你的控制器类型。如果USB控制器不是挂在PCI总线上的话,通常需要对usbPciStub.c文件进行一点小小的改动。
点赞  2007-7-26 00:23
谢谢各位,同样的方法,我换了个CPU板就识别了U盘,SHELL下用devs命令可以看到"/bd0",但向盘里创建文件失败,怎么回事啊。
用FILE *file = fopen("/bd0/a.txt","wt");结果失败
点赞  2007-8-10 16:03
wt?是不是应该是w+?
点赞  2007-8-13 13:22
果然是WT写错了,改成W就好了,低级错误
点赞  2007-8-21 14:19
Hardware-> Buses-> USB   Hosts-> EHCI

我的tornador2.2为什么没有这相关的项目,也就是只支持usb1.1,请问下具体是安的什么版本,
还需要安升级包才能支持吗?
点赞  2008-4-8 14:29
楼主 请问你的USB识别是怎么实现的?我的和你的情况差不多  目前为止还没有识别  请指教
点赞  2010-5-25 09:46
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复