異常和中斷

lethe1203發表於2024-03-26
參考資料:
韋東山第三期
《正點原子Linux驅動開發指南》
可參考:https://www.cnblogs.com/lethe1203/p/18077992
ARM系統中中斷和異常是如何影響CPU:
0
中斷處理的流程:
1、儲存現場(各種暫存器)
2、處理異常(中斷屬於一種異常)
3、恢復現場
ARM對異常(中斷)的使用過程:
1、初始化
  1. 設定中斷源,使其可以產生中斷
  2. 設定中斷控制器(遮蔽,優先順序)
  3. 設定cpu總開關使能中斷
2、執行其他程式
3、產生中斷:比如按下按鍵->中斷訊號發給中斷控制器->中斷控制器發給cpu
4、cpu每執行完一條指令都會檢查有無中斷產生有無異常產生
5、假設有異常或者中斷產生,開始處理。不同的異常,跳去不同的地址執行程式(異常向量表)。這些地址上只是一條跳轉指令,跳去執行某個函式
6、這些函式都會執行中斷處理的流程
對於Cortex-A7來說,異常向量表就是放在程式碼的最前面,如下:
0

相關文章