1.執行過程
中斷在嵌入式開發中十分重要,特別是對於裸機開發中,中斷可以使程序更加簡潔,減少程序負擔,但是中斷從頭到尾到底經歷了哪些階段、做了哪些東西應該很多人都不明白把。由於現在嵌入式開發主流是C,C屬於高級語言,我們通常配置一些參數,重寫中斷服務函數就完事,對其中的過程一無所知,所以在本次博文中分享一些關於中斷的理論知識。
中斷執行過程通常含有一下五個過程:
中斷請求 --> 中斷擇優 --> 中斷響應 --> 中斷處理 --> 中斷返回
2.中斷處理
其中中斷處理是整個中斷系統的核心,可以細分爲一下環節:
圖2-1 中斷處理細分圖
主要包括三大部分內容:a.準備部分、b.處理部分 、c.結尾部分
a.準備部分:
基本功能是保護現場,對於非向量中斷方式則需要確定中斷源,最後開放中斷,允許更高優先級的中斷打斷低級的中斷服務。
b.處理部分:
執行某個中斷服務函數。
c.結尾部分:
首先是關中斷,防止在恢復現場中被新的中斷請求打斷,接着是恢復現場,然後是開放中斷,以便返回原來的程序後可以響應其他中斷請求。(中斷服務程序的最後一條指令一定是中斷返回指令)
3.我只是個搬運工
原文:https://baike.baidu.com/item/%E4%B8%AD%E6%96%AD%E5%85%A8%E8%BF%87%E7%A8%8B/2110440?fr=aladdin