我做了一些测试,发现VXWORKS(for coldfire)里的中断是不能嵌套的,或者说默认是不嵌套的?CPU是支持中断嵌套的,我觉得OS在调ISR前使用了intLock(),退出时调用intUnlock().如果在ISR里直接用intUnlock()开中断,系统立即就死了.请问了解的同学,如何才能在VXWORKS下实现中断嵌套?
在intLib.h文件前面的说明里,说intLibInit, 增加了INT_PREEMPT_MODEL的支持,但是找不到使用的方法.请大虾指点.
请问一下,你是如何证明不能发生嵌套的?
用户(我们啦)的中断程序在前后加intlock和intunlock是不太合适的,但中断处理内部倒确实做了这样的手脚,处理中断的第一件事就是关中断。
VxWorks下中断是可以嵌套的,最明显的是主时钟中断,也就是系统的tick中断,是一个优先级最高的中断。
感觉中断嵌套还不太好测试。只能去碰。如果你有很好的测试方法,还请赐教。