[發明專利]一種將中斷處理程序底半部搬移到應用層的方法及應用有效
| 申請號: | 201210532215.9 | 申請日: | 2012-12-11 |
| 公開(公告)號: | CN103870326B | 公開(公告)日: | 2018-07-13 |
| 發明(設計)人: | 彭勇;許寧;任賦;鄭福弟 | 申請(專利權)人: | 廈門雅迅網絡股份有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48 |
| 代理公司: | 廈門市首創君合專利事務所有限公司 35204 | 代理人: | 連耀忠 |
| 地址: | 361000 福建*** | 國省代碼: | 福建;35 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 中斷處理程序 應用層 應用程序 半部 回調函數 應用開發 內核層 搬移 中斷處理函數 中斷處理 中斷事件 研發 調用 調試 協同 開發 驅動 中斷 靈活 應用 | ||
1.一種Linux下將中斷處理程序底半部搬移到應用層的方法,其特征在于,內核層驅動程序位于系統的內核層,應用層動態庫程序、應用層應用程序位于系統的應用層;步驟如下:
1)內核層驅動程序完成中斷頂半部處理后,對中斷事件進行廣播通知;具體為:
1.1)內核層驅動程序向系統內核注冊中斷頂半部處理函數,用于接收硬件中斷信號并進行頂半部處理;
1.2)內核層驅動程序創建第一netlink套接字,用于向系統廣播中斷事件;
2)應用層動態庫程序接收內核層驅動程序發出的中斷事件廣播通知;
具體為:應用層動態庫程序創建第二netlink套接字、廣播通知接收線程,用于接收內核層驅動程序發出的中斷事件廣播通知;
3)應用層動態庫程序創建全局鏈表、回調函數注冊接口,全局鏈表用于存儲向回調函數注冊接口注冊的回調函數;
4)應用層應用程序定義中斷底半部處理函數,并向回調函數注冊接口進行注冊,存儲于全局鏈表,形成中斷底半部處理回調函數;
5)應用層動態庫程序取出全局鏈表中的中斷底半部處理回調函數,完成中斷底半部處理。
2.根據權利要求1所述的Linux下將中斷處理程序底半部搬移到應用層的方法,其特征在于,全局鏈表中存儲的是頭指針,鏈表中每個節點存儲的是一個函數的調用地址。
3.根據權利要求1所述的Linux下將中斷處理程序底半部搬移到應用層的方法,其特征在于,回調函數注冊接口為系統動態庫向應用層提供的接口,通過回調函數注冊接口將向其注冊的函數加入到全局鏈表中。
4.根據權利要求1所述的Linux下將中斷處理程序底半部搬移到應用層的方法,其特征在于,步驟1.1)具體為:將自定義的函數作為request_irq函數的參數傳入到系統內核,自定義的函數即可中斷頂半部處理函數,并用于接收硬件中斷信號并進行中斷頂半部處理。
5.根據權利要求1所述的Linux下將中斷處理程序底半部搬移到應用層的方法,其特征在于,步驟1.2)具體為:利用netlink_kernel_create函數,通過第一netlink套接字對象向系統內核、應用層發送廣播通知。
6.根據權利要求1所述的Linux下將中斷處理程序底半部搬移到應用層的方法,其特征在于,廣播通知接收線程的實現具體為:創建自定義線程,并在該自定義線程中循環讀取第二netlink套接字對象實現對中斷事件廣播通知的接收。
7.一種在應用層對中斷處理程序底半部進行處理的方法,其特征在于,步驟如下:
A)中斷產生;
B)將中斷處理程序底半部搬移到應用層;
C)在應用層對中斷底半部進行處理;
步驟B)利用權利要求1至6任一項所述的將中斷處理程序底半部搬移到應用層的方法進行操作。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廈門雅迅網絡股份有限公司,未經廈門雅迅網絡股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210532215.9/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:以模塊化結構形式的內燃機
- 下一篇:數控頁輪智能成型機及其使用方法





