中斷小筆記

2022-07-16 20:27:13 字數 684 閱讀 6348

1.中斷處理函式可以被其他中斷線上的中斷處理函式所中斷

2.如果中斷線是共享的,那麼當該中斷線上有中斷發生時,cpu將響應該中斷,並依次呼叫該中斷線上的所有已註冊的中斷處理函式,每個中斷處理函式將進行判斷,是否是自己對應的硬體裝置發生的中斷,不是則返還irq_none,否則返回irq_handle,並響應該中斷。

3.在核心中執行do_irq()響應中斷,首先判斷該線上是否有中斷處理程式,然後在該線上執行所有的中斷處理程式。

4.總的來說中斷是屬於大家的,所有在同乙個中斷號內的需要處理的例程(同一中斷號內的處理例程可能有多個)都將呼叫這個中斷處理程式,然而在釋放中斷處理程式的最後乙個引數中的dev_id(註冊中斷函式中也有這個引數,它的作用是為後來刪除的時候提供唯一標誌)來區分到底要刪除那個處理程式.而確定到底是那個裝置的則通過讀取硬體裝置的狀態暫存器,以便中斷處理程式進行檢查

5.共享乙個中斷線的中斷處理程式被掛在乙個與中斷線有關的佇列中,當中斷發生時,中斷處理程式負責迴圈執行相應佇列中的action,而與裝置對應的處理程式會檢測是不是它要服務的裝置產生的中斷,如果不是馬上返回,如果是就接著進行服務。每一irq都於乙個list相關聯,如果irq是共享的,那麼list裡會有多個action,每乙個action代表已經註冊到該irq上的isr。所以所有這些isr都被執行了一次。所以,為了區分中斷發生在什麼裝置,isr通常都需要查詢裝置狀態。

6.中斷處理函式不能阻塞

ARM中斷筆記

一 arm體系cpu有以下7種工作模式 1 使用者模式 usr 正常的程式執行模式。不能直接切換到其他模式 2 系統模式 sys 執行作業系統的特權任務。與使用者模式類似,但具有直接切換到其他模式等特權 3 快速中斷模式 fiq 支援高速資料傳輸以及通道處理。fiq異常響應時進入此模式 4 中斷模式...

中 斷(讀書筆記)

裝置的中斷會打斷核心中程序的正常排程和執行,系統對更高吞吐率的追求勢必要求中斷服務程式盡可能地短小精悍。但是這個良好的願望往往與現實並不吻合。在大多數的系統中,當中斷到來時,要完成的工作往往並不是短小的,它可能要求進行較大量的耗時處理。為了在中斷執行時間盡可能短和中斷處理需要完成大量工作之前找乙個平...

筆記 中斷,下半部

先弄清兩個概念,程序上下文和中斷上下文 處理器總處於以下狀態中的一種 核心態,執行於程序上下文,核心代表程序執行於核心空間 核心態,執行於中斷上下文,核心代表硬體執行於核心空間 使用者態,執行於使用者空間。使用者空間的應用程式,通過系統呼叫,進入核心空間。這個時候使用者空間的程序要傳遞很多變數 引數...