阅读:1832回复:6
10分:如何判断是本PCI设备的中断来到
我们知道,PCI设备是共享中断的。
如果一个pci设备的中断号是0x0A,如果0x0a中断来到,我如何知道是否是这个PCI设备发出的呢? pci桥有没有提供可以查询deviceNo等信息的功能? |
|
|
沙发#
发布于:2002-05-30 16:15
想从硬件上来检测PCI的中断信号是不明智的。
不过你可在你的中断处理程序中设一个断点,然后从你的PCI设备中不断地产生中断,看是不是进入到你的中断处理程序中。如果没进到ISR中,说明你的中断其实并没有产生或者你的驱动对中断的处理还存在一些问题。 |
|
|
板凳#
发布于:2002-05-30 16:25
先谢过楼上的。
我用的是其他公司的卡,没法在硬件上调试。 流程是这样的: 主程序: 启动DMA向卡内送数据 -> 等待中断 -> 启动DMA读数据 中断程序: 判断是否是本卡产生 -> 清中断 卡上原有一个标识位,但据那个公司说,不太好用。所以我想能不能通过其他方式查询。 |
|
|
地板#
发布于:2002-05-30 16:37
那我想这个PCI芯片应该有描述自己中断状态的寄存器,你可在ISR中读这个寄存器并加以判断。它有吗?
|
|
|
地下室#
发布于:2002-05-30 16:44
好的,这个pci的芯片是9054,我现在查一下该芯片的资料。
|
|
|
5楼#
发布于:2002-05-30 16:46
9054我用过的,是有。
加点分,1414,OK? |
|
|
6楼#
发布于:2002-05-30 17:01
还没找到吗,我告诉你吧:
就是INTCSR寄存器,它的后面几位还可指出是DMA通道0或1还是邮箱或门铃的中断。 |
|
|