bobbysun2000
驱动小牛
驱动小牛
  • 注册日期2003-08-01
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
阅读:1938回复:7

使用DS3.1做的USB驱动,一用WriteFile/ReadFile就蓝屏,请教一下?

楼主#
更多 发布于:2004-07-02 16:36
我用DS3.1驱动向导做的驱动,类型为USB,端点1和2均为Bulk,端点1 IN OUT缓冲均为16,端点2 IN OUT缓冲均为64,只处理读写请求、cleanup等常规请求,生成后,用VC6编译生成的*.sys文件,查找管道好像都没问题,但一对端点使用WriteFile或ReadFile操作就立马蓝屏然后电脑重起了,另外说一下,我用SoftICE跟踪进去也没发现什么问题啊,而且写入USB的数据个数也和我设定的一致,最后的完成例程的返回状态也是STATUS_SUCCESS,真是很奇怪,请教一下各位,怎么回事呢?
ms520sxl
驱动牛犊
驱动牛犊
  • 注册日期2004-03-17
  • 最后登录2005-01-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-10-17 16:09
请问楼主,你的问题是怎么解决的啊!!
哈哈,希望你能看到这个帖子啊!!!
bobbysun2000
驱动小牛
驱动小牛
  • 注册日期2003-08-01
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-10-21 20:19
在做驱动时不要使用new来分配内存,要使用malloc,并且切记释放内存,防止内存泄漏!
ms520sxl
驱动牛犊
驱动牛犊
  • 注册日期2004-03-17
  • 最后登录2005-01-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-10-27 15:37
谢谢楼主的建议,那么请问楼主,new 和malloc有什么区别吗??
而且我的程序具体是在
status = m_Endpoint2OUT.SubmitUrb(I, pUrb, LinkTo(WriteComplete), pCompInfo, 0);
重起的,帮忙处处主意呗!!!
bobbysun2000
驱动小牛
驱动小牛
  • 注册日期2003-08-01
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-10-27 21:52
你看看你在用DW生成驱动框架的时候的一些配置与单片机对固件的配置是否一致,主要是端点1,应该搞成interrupt端点。构建URP时应该使用BuildInterruptTransfer
ms520sxl
驱动牛犊
驱动牛犊
  • 注册日期2004-03-17
  • 最后登录2005-01-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-10-28 09:52
可是,楼主,现在我用端点2,批量传输啊!
bobbysun2000
驱动小牛
驱动小牛
  • 注册日期2003-08-01
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-10-28 12:50
我知道你用的端点2,但你前面的配置有没有问题,MaximumTransferSize对吗。按理说配置没有问题,DS生成的批传输函数就可以直接用的,我就是直接用的,如果再有问题,我也不知道了
ms520sxl
驱动牛犊
驱动牛犊
  • 注册日期2004-03-17
  • 最后登录2005-01-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-10-29 10:43
谢谢楼主的热心指点!!!
我再继续查查吧,希望能找到错误啊!
游客

返回顶部