1.1 设置中断程序
VxWorks提供函数intConnect(),它允许将指定的C函数与任意中断相联系。函数原型是:
STATUS intConnect(
VOIDFUNCPTR * vector, //要联系的中断向量
VOIDFUNCPTR routine, //中断发生时要调用的函数
int parameter //传递给中断处理函数的参数
)
该函数将指定的C函数routine与指定的中断向量vector相联系,函数的地址将存储在这个中断向量里。所以当中断发生时,系统将调用该函数,使用指定的参数parameter作为参数,一般为0.
(1)事实上,中断向量不是直接地指向intConnect()指定的C函数。intConnect()将创建一小段代码,这段代码用以保存必要寄存器、设置堆栈入口、包含将要传递的参数,或者在一个特殊的堆栈或者在当前任务的堆栈中调用这个连接函数。相反,当从该函数返回时,这段代码先恢复寄存器和堆栈,然后退出中断。
VxWorks中断服务程序详解

本文介绍了VxWorks操作系统中如何设置中断服务程序,包括intConnect()函数的使用,中断处理机制,以及中断服务程序与任务之间的通信方式,如共享存储区、信号量、消息队列、管道和信号灯等。同时,强调了中断处理的高优先级和非内核调度特性。
最低0.47元/天 解锁文章
2789

被折叠的 条评论
为什么被折叠?



