当前位置: 代码迷 >> 驱动开发 >> 使用windriver生成PCI驱动,如何在中断处理中,清除中断状态位
  详细解决方案

使用windriver生成PCI驱动,如何在中断处理中,清除中断状态位

热度:9   发布时间:2016-04-28 10:43:10.0
使用windriver生成PCI驱动,怎么在中断处理中,清除中断状态位
使用wd_intenable()使能中断,该函数中注册了中断处理函数。现在能收到PCI中断,但是进入中断处理函数后不知道如何将中断状态寄存器清零,导致板子发送一次中断,中断处理程序被死循环调用。看到网上有两种解决方法:


1、使用wd_intenable()参数中的传输命令序列,在内核模式下直接清空中断状态寄存器,这样的话我如何获得中断状态寄存器的地址,以及写成什么表示清零了呢;


2、进入中断后使用wd_intdisable()禁止中断,执行处理,处理完后再调用wd_intenable()重新打开中断,这样试验时发现wd_intdisable()出现死循环,函数返回不了。


请高手解释两种情况,以及如何正确清除中断。

------解决方案--------------------
windriver的帮助文档里面写的很清楚啊
------解决方案--------------------
问一下:中断操作应该是跟你的PCI设备相关吧?设备手册里面没有说怎么进行中断清楚么?