vxworks中断的使用


VxWorks中使用intConnect()挂接中断服务程序,但对于PCI设备,一般采用pciIntConnect()挂接中断,它与intConnect()的主要不同在于intConnect()使用的中断向量是独占的,而pciIntConnect()则可使多个外部中断共享一个中断向量。它在内部使用一个链表管理多个ISR,发生中断时,链接在一个链表上的各个ISR被依次调用,pciIntConnect()要求每个ISR被调用时,应该首先查询是否为自己的设备产生的中断,不是则应立即返回,以继续调用其它ISR。

VxWorks中面向应用的编程接口为intConnect(),其原型如下:

STATUS intConnect( VOIDFUNCPTR *vector,VOIDFUNCPTR routine,int parameter)

其中

vector:要挂接的中断向量地址;

routine:中断发生时调用ISR;

parameter:传递给IST的参数。

一般调用intConnect函数时需要使用INUM_TO_IVEC()函数对终端号进行处理。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM