阅读:1045回复:2
我还能咋办??100分救急!!!新手的呼叫
在自己开发USB驱动之前,参考了周立功的程序,和Zboard程序,出现的问题简直令人郁闷。
开发环境win2000,DS2.7,DDK2000 硬件环境:周立功SMART开发板 要求:1。能将试验板上的红灯点亮, 2。接收板上的按健输入 固件程序和主机程序,驱动程序用周立功的,其正确性以验证。 但我用DS为其写的驱动,却总是不能工作,(注:我改了GUID,硬件可以梅举,)但问题如下 1。点亮红灯:周立功的程序用WRITEFILE写了几个数据,红灯即亮。 可如果换成我的驱动,就看见绿路灯闪一下,红灯不亮。 (注:固件相同,我的驱动写函数完全由DS生成) 郁闷吧!! 2。接收板上按建输入:其思路为先deviceiocontrol成功后在用readfile具体如下: bResult = DeviceIoControl(hDevice, IOCTL_READ_REGISTERS, (PVOID)&ioBlock, sizeof(IO_BLOCK), (PVOID)&c, 1, &nBytes, NULL); : : readfile() : 我的驱动中deviceioctrl响应部分代码如下(也就是出错处,我没搞清在那)PVOID ioBuffer= I.IoctlBuffer(); ioBlock=(PIO_BLOCK) ioBuffer; length=ioBlock->uLength; wValue=(USHORT)ioBlock->uOffset; wIndex=(USHORT)ioBlock->uIndex; PURB pUrb=m_Lower.BuildVendorRequest( (unsigned char *)I.IoctlBuffer(), length, 0x0, 0x0C, wValue TRUE, 0, NULL, //link wIndex, URB_FUNCTION_VENDOR_DEVICE, //function NULL //urb If equal to NULL, a new URB is allocated. ); T<<\"entr submit\"<<i<<eol status=m_Lower.SubmitUrb(pUrb, NULL, NULL, 15000l); 就出现异常,softice弹处,从显示看 进入status=m_Lower.SubmitUrb(pUrb, NULL, NULL)时出错, 可这是我参考Zboard的驱动写的呀!! 错误提示:break due to page fault (0e) 清各路高手指点一二 :( :( 谢谢!! |
|
沙发#
发布于:2003-03-10 09:28
自己顶一下
顺便说一下: 用DS的时候,未选internal device driver选项,即未对irp_mj――internal_device,IRP请求做处理,不知有影响吗?? |
|
板凳#
发布于:2003-03-21 17:10
[quote]用DS的时候,未选internal device driver选项,即未对irp_mj――internal_device,IRP请求做处理,不知有影响吗??
[quote] 当然有了. usb 就用的 internal_device,IRP |
|
|