2010-05-04 69 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