一,認識幾個重要結構體:
1.中斷描述符
對於每一條中斷線都由乙個
irq_desc結構來描述。
//在include/linux/irq.h中
struct irq_desc ____cacheline_internodealigned_in_smp;
2. 中斷硬體操作函式集
//在include/linux/irq.h中定義
//該結構體中各函式在檔案linux/arch/arm/plat-s3c24xx/irq.c中實現
struct irq_chip ;
3.中斷處理例程描述符
//在include/linux/interrupt.h中
struct irqaction ;
這三個結構體間的關係表示如下
**至微博
ARM Linux 中斷分析
在具體的 arm 晶元中會有很多的中斷型別,每一種型別的中斷用以上結構來表示 struct irqdesc irq desc nr irqs nr irqs 根據不同的 mcu 會有所區別 在通過request irq 函式註冊中斷服務程式的時候,將會把中斷向量和中斷服務程式對應起來。我們來看一下 ...
arm linux 中斷分析2
裝置一般都比cpu慢得多。因此一般情況下,當乙個程序通過裝置驅動程式向裝置發出讀寫請求後,cpu並不等待i o操作的完成,而是讓正在執行的程序去睡眠,cpu自己做別的事情,例如喚醒另乙個程序執行。當裝置完成i o操作需要通知cpu時,會向cpu發出乙個中斷請求 然後cpu根據中斷請求來決定呼叫相應的...
linux中斷系列之中斷簡介 一
第六章 第一節 中斷簡介 核心主要職責 管理系統中存在的各種裝置,一般以一下兩種方式管理 1 輪詢 核心一定週期訪問裝置,查詢裝置狀態並進行處理,裝置請求不能及時處理,大量消耗cpu資源。2 中斷 裝置在需要時通知核心,核心收到裝置的請求後在做出相應處理,即產生一種電訊號,通過中斷控制器發給cpu,...