阅读:2466回复:4
高分请教,有关vxworks下中断挂接的问题。
有几个概念不是很明白,一个是中断向量号(int vector),一个是中断号(int number),还有一个是中断请求号(irq),它们之间的关系是什么样的。还有就是想知道vxworks是怎样管理中断向量表的。
|
|
|
沙发#
发布于:2003-10-25 13:35
中断请求号(irq)这个就不说了,大家都知道的;
中断号(int number)是vxworks特有的一个东西,它是在中断请求号的基础上加上一个常量,而得到的。而这个常量在x86的bsp中一般被定义为0。中断号的作用主要是用于在各个bsp间的程序移植; 中断向量号(int vector)是指中断服务程序的首地址在中断向量表中的存放地址,这个值由中断号得出,它们的转换关系为:intVec = INUM_TO_IVEC(intNum);intNum = IVEC_TO_INUM(intVec)(好像是这样的,记不太清楚了.) |
|
|
板凳#
发布于:2003-10-25 14:09
非常感谢,已给分。但是还有一个问题呢?
|
|
|
地板#
发布于:2003-11-04 17:58
沙漠之鹰解释的不错。那么我补充两句,关于中断管理。
1. 使用了一组内核线程处理中断,该中断包含在内核进程中,因此存取自己的id、优先级、上下文、栈; 2. 内核控制访问数据结构,而且使用了互斥源语在中断进程间同步; 3. 中断线程被赋予更高的优先级,并高于其他内核进程; 明白否? |
|
|
地下室#
发布于:2003-11-08 13:11
zhuzc兄的解释又更深了一层,足见zhuzc兄深厚的功底。非常感谢你!!
|
|
|