环境: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!!!!
再试试看鼠标出来不?
本文介绍了解决VxWorks环境下部分USB光电鼠标兼容性不佳的问题。通过修改USB鼠标驱动源代码中的鼠标空闲时间设置,并重新编译和安装驱动,使得驱动能够更好地支持多种USB光电鼠标。
7235

被折叠的 条评论
为什么被折叠?



