royal_wsf
驱动牛犊
驱动牛犊
  • 注册日期2004-03-07
  • 最后登录2006-03-08
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1515回复:5

请教关于PCI卡中断的问题

楼主#
更多 发布于:2004-09-24 10:27
我的卡用8253产生时钟中断,接口芯片为9052。
在驱动中我没有用wdm方式,而是在NT式驱动中
直接搜索总线,找到相应的卡,获取卡的资源,
转换后对端口进行操作。
现在端口的IO没有问题,但是ISR却始终进不去,
用示波器量INTA有周期脉冲(8253方式3),搞
了好久,现在实在不知道怎么办了。
是不是PCI的配置寄存器中有什么位要操作?怎么
操作,请教各位高手!急!
royal_wsf
驱动牛犊
驱动牛犊
  • 注册日期2004-03-07
  • 最后登录2006-03-08
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-09-27 11:57
怎么给不了分了?不好意思了。呵呵
royal_wsf
驱动牛犊
驱动牛犊
  • 注册日期2004-03-07
  • 最后登录2006-03-08
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-09-27 11:51
    谢谢回复!
    我只是从8253上量到了信号,从槽上不好引线,呵呵。
    由于卡是买的别人的,所以我开始时稀里糊涂的。搜索
卡的资源有两段IO地址空间,然后去对照9052的datasheet,
如你所说有一段空间就是Local register的。然后找到那个
INTCSR,捣鼓一下就KO了!
    要是你早点回复,我可以省至少一天时间,:)。还有
我的爱机可以少受罪一天(蓝屏不下20次)。:)
minsoft
驱动小牛
驱动小牛
  • 注册日期2001-07-30
  • 最后登录2007-03-06
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-09-27 11:36
PLX8052的确是有这么一个寄存器,可以分别控制PCI/LOCAL中断源,但你说在pci槽上已经量到了INTA信号说明这些寄存器已经开通了中断呀。
这个寄存器的操作也简单,就是PCI设备的第一个IO基地址,它有两个以上的基地址,第一个就是芯片自身用的local register。
少了e,就少了全部
royal_wsf
驱动牛犊
驱动牛犊
  • 注册日期2004-03-07
  • 最后登录2006-03-08
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-09-25 10:37
我用的Windows2000,原来写的驱动主要是针对ISA卡的,所以
写成NT式的。现在要加入一个PCI的中断卡,为了方便,就直接
在驱动里面加了。
昨天改成wdm式的,测试也是IO没有问题,但是中断进不去,
好像是不是也写(读)一个Local register的中断状态寄存器
(9052 上的offset是4C),但是不知道这个Local register
的基地址是多少?怎么获得?苦闷中,请教!
minsoft
驱动小牛
驱动小牛
  • 注册日期2001-07-30
  • 最后登录2007-03-06
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-09-24 16:34
不知你是什么操作系统。
你既是NT式的Driver,可能你的设备在Windows中的设备管理器中就没有正常驱动,很多操作系统在设备驱动发生异常时(设备管理器中有“?”或“!”)之类会将BIOS分配给设备的中断清除,可以查看PCI配置空间3C单元即知,正常情况下它是个有效的中断号。
如果上述推断成立,则你的ISR没有调用机会了。
少了e,就少了全部
游客

返回顶部