系統(tǒng)之家 - 系統(tǒng)光盤下載網站!

當前位置:系統(tǒng)之家 > 系統(tǒng)教程 > Linux共享中斷

Linux系統(tǒng)處理共享中斷的技巧

時間:2015-09-11 14:24:10 作者:zhijie 來源:系統(tǒng)之家 1. 掃描二維碼隨時看資訊 2. 請使用手機瀏覽器訪問: https://m.xitongzhijia.net/xtjc/20150911/57506.html 手機查看 評論

  在Linux系統(tǒng)中中斷是可以共享的,這樣就可以有多個設備同時響應一個中斷,從而形成一個中斷鏈表。甚至沒有產生中斷的程序也會變執(zhí)行。本文就來教大家Linux系統(tǒng)處理共享中斷的技巧。

Linux系統(tǒng)處理共享中斷的技巧

  共享中斷和沒有共享的區(qū)別

  1、 request_irq()的參數flags必須設置SA_SHIRQ標志。

  2、對每個注冊的中斷處理程序來說,dev_id參數必須唯一。指向任一設備結構的指針就可以滿足這一要求;通常會選擇設備結構,因為它是唯一的,而且中斷處理程序可能會用到它。不能給共享的處理程序傳遞NULL值。

  3、中斷處理程序必須能夠區(qū)分它的設備是否真的產生了中斷。這既需要硬件的支持,也需要處理程序中有相關的處理邏輯。如果硬件不支持這一功能,那中斷處理程序肯定會束手無策,它根本沒法知道到底是與它對應的設備發(fā)出了這個中斷,還是共享這條中斷線的其他設備發(fā)出了這個中斷。

  所有共享中斷線的驅動程序都必須滿足以上要求。只要有任何一個設備沒有按規(guī)則進行共享,那么中斷線就無法共享了。指定SA_SHIRQ標志以調用request_irq()時,只有在以下兩種情況下才可能成功:中斷線當前未被注冊,或者在該線上的所有已注冊處理程序都指定了SA_SHIRQ。

  注意:在這一點上2.6與以前的內核是不同的,共享的處理程序可以混用SA_ INTERRUPT。

  以上就是Linux系統(tǒng)處理共享中斷的技巧的分享了,所以一個中斷發(fā)生后,程序就會自行判斷是否作出響應,這對大部分的硬件來說都是很容易實現的。

標簽 中斷

發(fā)表評論

0

沒有更多評論了

評論就這些咯,讓大家也知道你的獨特見解

立即評論

以上留言僅代表用戶個人觀點,不代表系統(tǒng)之家立場

其他版本軟件

熱門教程

人氣教程排行

Linux系統(tǒng)推薦

掃碼關注
掃碼關注

掃碼關注 官方交流群 軟件收錄