zhuzc
驱动中牛
驱动中牛
  • 注册日期2001-09-01
  • 最后登录2005-04-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1832回复:6

10分:如何判断是本PCI设备的中断来到

楼主#
更多 发布于:2002-05-30 15:56
    我们知道,PCI设备是共享中断的。
    如果一个pci设备的中断号是0x0A,如果0x0a中断来到,我如何知道是否是这个PCI设备发出的呢?
    pci桥有没有提供可以查询deviceNo等信息的功能?
我是树上的那只鸟,整理着自己的羽毛,看着城市的喧嚣……
Dragon2008
驱动中牛
驱动中牛
  • 注册日期2002-04-01
  • 最后登录2006-03-13
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-05-30 16:15
想从硬件上来检测PCI的中断信号是不明智的。
不过你可在你的中断处理程序中设一个断点,然后从你的PCI设备中不断地产生中断,看是不是进入到你的中断处理程序中。如果没进到ISR中,说明你的中断其实并没有产生或者你的驱动对中断的处理还存在一些问题。
我姓龙,我属龙,我叫龙。。。
zhuzc
驱动中牛
驱动中牛
  • 注册日期2001-09-01
  • 最后登录2005-04-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-05-30 16:25
先谢过楼上的。

我用的是其他公司的卡,没法在硬件上调试。

流程是这样的:
主程序:
启动DMA向卡内送数据 -> 等待中断 -> 启动DMA读数据

中断程序:
判断是否是本卡产生 -> 清中断

    卡上原有一个标识位,但据那个公司说,不太好用。所以我想能不能通过其他方式查询。
我是树上的那只鸟,整理着自己的羽毛,看着城市的喧嚣……
Dragon2008
驱动中牛
驱动中牛
  • 注册日期2002-04-01
  • 最后登录2006-03-13
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-05-30 16:37
那我想这个PCI芯片应该有描述自己中断状态的寄存器,你可在ISR中读这个寄存器并加以判断。它有吗?
我姓龙,我属龙,我叫龙。。。
zhuzc
驱动中牛
驱动中牛
  • 注册日期2001-09-01
  • 最后登录2005-04-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-05-30 16:44
好的,这个pci的芯片是9054,我现在查一下该芯片的资料。
我是树上的那只鸟,整理着自己的羽毛,看着城市的喧嚣……
Dragon2008
驱动中牛
驱动中牛
  • 注册日期2002-04-01
  • 最后登录2006-03-13
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-05-30 16:46
9054我用过的,是有。
加点分,1414,OK?
我姓龙,我属龙,我叫龙。。。
Dragon2008
驱动中牛
驱动中牛
  • 注册日期2002-04-01
  • 最后登录2006-03-13
  • 粉丝0
  • 关注0
  • 积分31分
  • 威望5点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-05-30 17:01
还没找到吗,我告诉你吧:
就是INTCSR寄存器,它的后面几位还可指出是DMA通道0或1还是邮箱或门铃的中断。
我姓龙,我属龙,我叫龙。。。
游客

返回顶部