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()函数对终端号进行处理。

posted on 2018-10-01 11:51  mimido  阅读(4230)  评论(0编辑  收藏  举报

导航