vxworks5.5 usb鼠标识别

环境:tornado2.2 +windml3.03
硬件:pentium4
windml配置:ps2键盘 /pcConsole/1   usb鼠标  /usbMo/0
bsp修改如下:
#define INCLUDE_WINDML

#define INCLUDE_WINDML_PS2_KEYBOARD  
#define INCLUDE_WINDML_USB_POINTER
#define INCLUDE_UHCI
#define INCLUDE_UGL_ALL
#define INCLUDE_PCI_WINDML_GRAPHICS


鼠标驱动“初始化”组件配置

INCLUDE_USB_MOUSE_INIT

启动界面提示的内容

UHCI Controller found
waiting to attach …… Done
AttachToken=0x3
usbMouseInit() returns ok



USB鼠标驱动是装TORNADO2.2自带的

USB1.1的USB鼠标驱动对于有些光电鼠标支持不好
VXWORKS6.5或是PLATFORM ID 2.0的好像都解决了:
毛病出在USB鼠标枚举时驱动有个什么请求,有的新鼠标不支持它

要么换几个USB光电鼠看看
要么把鼠标驱动改以下:
在C:\Tornado2.2\target\src\drv\usb\usbMouseLib.c里

/* Set the mouse idle time to infinite. */
    if (usbHidIdleSet (usbdHandle,
         pSioChan->nodeId,
         pSioChan->interface,
         0 /* no report ID */,
         0 /* infinite */)
      != OK)
        {
        OSS_FREE (pBfr);
        return FALSE;
        }

改成usbHidIdleSet (usbdHandle,
         pSioChan->nodeId,
         pSioChan->interface,
         0 /* no report ID */,
         0 /* infinite */) ;
这个idle设置,有的鼠标不支持,如我们同事的HP惠普本本送的鼠标-。-
驱动原先这里如果鼠标不响应,就认为失败了,就不再继续枚举了
所以我们不做失败处理,即调一下设置,而不管成不成功都继续做。

然后用命令行进鼠标驱动目录重新编译这个。c
先设置环境变量,这个不多说了
然后cd C:\Tornado2.2\target\src\drv\usb
make CPU=PENTIUM TOOL=gnu usbMouseLib.o
把usbMouseLib.o拷贝到C:\Tornado2.2\target\lib\pentium\PENTIUM\common下
先arpentium -d libusb.a usbMouseLib.o 把原先的鼠标驱动删除
然后把新驱动打包到C:\Tornado2.2\target\lib\pentium\PENTIUM\common\libusb.a
即做如下命令:
arpentium -ra usbKeyboardLib.o libusb.a usbMouseLib.o
这样新的USB库就有了
然后重新编译vxworks!!!!
再试试看鼠标出来不?

你可能感兴趣的:(c,report,HP,include)