問題:解除安裝驅動後,gic中斷號和觸發次數依然存在,解除安裝不徹底
載入驅動列印資訊:
# cat /proc/interrupts
cpu0
29: 2249 gic twd
32: 249 gic uart-pl011
35: 265 gic eth0
36: 12 gic timer
50: 0 gic dma-pl330
80: 1 gic gpio_module
ipi0: 0 cpu wakeup interrupts
ipi1: 0 timer broadcast interrupts
ipi2: 0 rescheduling interrupts
ipi3: 0 function call interrupts
ipi4: 0 single function call interrupts
ipi5: 0 cpu stop interrupts
err: 0
解除安裝驅動列印資訊:
# cat /proc/interrupts
cpu0
29: 2353 gic twd
32: 367 gic uart-pl011
35: 341 gic eth0
36: 12 gic timer
50: 0 gic dma-pl330
80: 1 gic
ipi0: 0 cpu wakeup interrupts
ipi1: 0 timer broadcast interrupts
ipi2: 0 rescheduling interrupts
ipi3: 0 function call interrupts
ipi4: 0 single function call interrupts
ipi5: 0 cpu stop interrupts
err: 0
載入驅動以後,若沒有觸發中斷,則中斷號、觸發次數和裝置模組都能成功解除安裝;觸發中斷以後就解除安裝不徹底,中斷號和觸發次數還存在
請問有人能幫忙解答疑惑嗎?
請問有人能幫忙解答疑惑嗎?
2019.4.4,在這兩個地方找到相同問題,可以借鑑一下
1.網友回答:
1):呼叫free_irq只是告訴系統,你不關心這個中斷了而已;
2):很多架構裡的中斷本身都是共享的
request_irq();
free_irq();
這兩個函式的最後引數別為null試試
嘗試結果:中斷號依然存在,猜測可能是和核心版本有關係
2.網友回答:
1)linux2.6和linux3.0的版本也會出現中斷號無法解除安裝的情況,猜測是正常情況(本人使用的核心版本是linux-3.10.103)
Linux 裝置驅動 中斷處理
為什麼需要中斷 1,外設的處理速度一般慢於 cpu 2,cpu 不能一直等待外部事件 所以裝置必須有一種方法來通知 cpu 它 的工作進度,這種方法就是中斷.在 linux 驅動程式中,為裝置實現乙個中斷包含兩個步驟 1,向核心註冊中斷 2,實現中斷處理函式 request irq 用於實現中斷的註...
linux 驅動中斷部分學習
學習按鍵中斷,中斷程式可以在中斷函式中一次實現,也可以分開在中斷的上下半部實現,上半部實現緊急的處理,下半部做些不緊急的處理。上下半部的實現分為 軟中斷 tasklet 工作佇列 執行緒中斷。軟中斷和tasklet處理函式中不能睡眠。問題1 今天做工作佇列的實驗,在初始化函式中需要申請中斷號同時初始...
linux驅動學習 linux中斷程式編寫流程
linux中斷 1 確定中斷號 2 申請中斷號 request irq 不用一定要釋放free irq 3 編寫中斷服務函式 request irq unsigned int irq,irq handler t handler,unsigned long flags,const char name,...