vxworks5.5 usb鼠标识别

本文介绍了解决VxWorks环境下部分USB光电鼠标兼容性不佳的问题。通过修改USB鼠标驱动源代码中的鼠标空闲时间设置,并重新编译和安装驱动,使得驱动能够更好地支持多种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!!!!
再试试看鼠标出来不?
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值