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中断的使用的主要内容,如果未能解决你的问题,请参考以下文章

中断函数中不能使用printf的原因

中断处理程序不能使用printf的本质

VxWorks任务间通信

VxWorks调试备忘录

VxWorks调试备忘录

vxWorks 调试组件和命令