cherryone
驱动牛犊
驱动牛犊
  • 注册日期2001-12-07
  • 最后登录2005-03-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2101回复:12

关于一个中断的弱问题

楼主#
更多 发布于:2002-08-16 14:03
各位大侠,
在W2k下,是不是把中断设好了,使用softice的genint 是可以进入的,即使是在没有creatfile的情况下,俺刚做,不是太明白,这个驱动就差中断这一点了,急死了。各位多帮忙。

最新喜欢:

hapihapi
denizen
驱动大牛
驱动大牛
  • 注册日期2001-12-30
  • 最后登录2012-05-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-08-16 21:21
可以用GENINT命令,但是一定要确保有ISR。
Where there is a will, there is a road.
cherryone
驱动牛犊
驱动牛犊
  • 注册日期2001-12-07
  • 最后登录2005-03-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-08-19 20:03
我是用WDM做的,是不是要想使中断有效,必有IPR在运行才可以呀?
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-08-20 09:12
听不懂
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
cherryone
驱动牛犊
驱动牛犊
  • 注册日期2001-12-07
  • 最后登录2005-03-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-08-20 14:59
我不太清楚WDM中断机制,看也没看明白,请大侠给说一说,或给个例子读一读,3X
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-08-21 09:29
你的驱动是关于什么的
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
cherryone
驱动牛犊
驱动牛犊
  • 注册日期2001-12-07
  • 最后登录2005-03-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-08-21 12:35
是关于PCI的
bluesky123
驱动牛犊
驱动牛犊
  • 注册日期2002-08-02
  • 最后登录2002-10-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-08-21 17:29
首先在PNP的STARTDEVICE中查询IRP得到中断资源。调用IOCONNECTINTERRUPT函数连接中断。(通常还要初始化一个DPC)。
然后你要弄明白一点:你的硬件为什么发中断?(目的是外设接到数据通知PC、还是OS发一个IRP下来,当一些数据被传送后,通知PC。调用ISR、DPC继续传送数据)。跟据这一点来写你的ISR、DPC。(后一种情况需要在数据都传送完后调用IOSTARTNEXTPACKET启动下一个IRP并用IOCOMPLETEIRP结束IRP。)
wuqix
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2008-06-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-08-21 21:04
各位大侠,
在W2k下,是不是把中断设好了,使用softice的genint 是可以进入的,即使是在没有creatfile的情况下,俺刚做,不是太明白,这个驱动就差中断这一点了,急死了。各位多帮忙。

不必非有irp才能激活中断,但是你必须有中断这个资源,获得这个资源的时机是驱动初始化时的pnp,此后,只要你genint的参数正确,都是可以激活中断处理函数的。
dotdraw
驱动牛犊
驱动牛犊
  • 注册日期2002-08-09
  • 最后登录2008-03-30
  • 粉丝0
  • 关注0
  • 积分114分
  • 威望12点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-08-21 22:57
主板上的PCI有对应的中断号,不论是设计PCI卡座,还是PC主板,EPROM
预先分配的.
cherryone
驱动牛犊
驱动牛犊
  • 注册日期2001-12-07
  • 最后登录2005-03-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-08-22 08:54
如果在PNP之前配置了资源,会发生什么情况呢,
bluesky123
驱动牛犊
驱动牛犊
  • 注册日期2002-08-02
  • 最后登录2002-10-18
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-08-22 09:46
PCI应该在STARTDEVICE中的IRP中得到其配置资源。才可以设置。你在PNP之前是得不到它的配置的。
cherryone
驱动牛犊
驱动牛犊
  • 注册日期2001-12-07
  • 最后登录2005-03-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-08-24 21:45
我的IOCONNECTINTERRUP调动成功了,资源为irql=10,vector = 3b 都对了,返回也成功了,可是我用 Genint 3b怎么ISR还是进不去呢,苦恼了一周了,我觉得不会有问题了,可是不灵,请各位大侠出出主意。
游客

返回顶部