vxworks中断的使用
Posted yy-86
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()函数对终端号进行处理。
以上是关于vxworks中断的使用的主要内容,如果未能解决你的问题,请参考以下文章