2010-05-04 68 views
1

分段中断架构RTOS可以利用中断处理程序和调度程序之间的巧妙分区工作来夸耀“零中断延迟”。这种方法至少有一些专有的闭源实例,例如AVIX和Quasarsoft-Q-Kernel开源的分段中断架构RTOS?

问一个与open source RTOS links有关的相关SO问题,但所有建议的操作系统都使用统一的中断体系结构。

有没有开源的分段中断架构RTOS?

回答

1

我相信这有时也被称为“延迟中断”服务或处理,因此可能值得使用该术语来找到候选人。

也许可以通过为ISR服务保留最高优先级的任务级别来伪造它,所以假设您有32个中断向量,您将为ISR2级别保留优先级0到31(假设为零) 。然后每个真正的中断简单地设置一个事件标志,指示ISR2任务。在这种情况下,您仍然有责任不要在ISR2任务中调用阻塞函数,而是可以自由使用非阻塞内核服务。

我不确定这是否会给你带来完全相同的效果(我必须比我有更充分的研究 - 或者现在谨慎),但这确实意味着你可以在真实中做最少的工作ISR和真正的ISR将始终抢占任何ISR2。

+0

感谢Clifford,您的“延迟中断”提示将我带到了专有的smx rtos,但提供了源代码。 我目前使用你提到的方法(高优先级中断设置标志来启用低优先级中断);它适用于某些应用程序,但与后台线程调度程序的交互非常危险。 – 2010-05-04 20:25:24