S5PV210 裸機中斷

2021-08-14 07:15:02 字數 1044 閱讀 1183

這裡我以外部中斷為例畫出了中斷響應的過程。

- 當外部中斷得到響應,會由硬體自動轉到異常向量表,執行對應的異常處理程式。在這裡指的就是irq的處理程式。

- 在異常處理程式irq_handle中將會執行現場的保護與恢復,以及最重要的中斷處理函式(注意,這裡就來到了中斷處理部分,而不是異常處理了,相當於是乙個兩級的機制)。

- 在中斷處理程式irq_handler中(**如下),將會通過判斷中斷標誌位來找到外部中斷到底來自於vic0/vic1/vic2/vic3。(s5pv210支援多達93個中斷,所以有四個中斷控制器來控制。)找到之後,呼叫對應外部中斷的處理函式(即vicnaddr指向的函式)。

void irq_handler(void)

; int i=0;

void (*isr)(void) = null;

for(i=0; i<4; i++)

}(*isr)(); // 通過函式指標來呼叫函式

}

在上面我們提到,s5pv210支援多達93個中斷,而在s3c2440中也支援幾十個中斷,但是兩者的處理方式是截然不同的。

- 在s3c2440中,同樣也有類似於上圖中「外部中斷向量表1」這樣的**,但是當乙個外部中斷發生後,需要通過輪詢的方式查詢中斷標誌位得到正確的外部中斷編號,然後呼叫對應的中斷處理子函式。這樣處理器的響應時間變長,無法適應高實時性要求。

- s5pv210則用硬體更好地解決了問題,以上面的外部中斷向量表1為例,如果是其中的中斷源發生了中斷,那麼相應的中斷處理函式將會自動複製到vic0addr暫存器當中,不需要人工輪詢,只需要將中斷處理函式寫到「外部中斷向量表1」的對應位置處即可,,當然了因為s5pv210有四個vic,所以還是要輪詢四次。

其他諸如中斷使能、中斷模式(irq/fiq)的選擇、中斷引腳的相關配置(gpio設成外部中斷、觸發方式、中斷使能)、清掛起等不在此贅述。

S5PV210的中斷模式

異常向量表 1 異常向量表中各個向量的相對位置固定的,但是他們的起始位址時不固定的,各種soc可以不一樣,而且複雜arm中還可以讓使用者通過軟體來設定這個異常向量表的基位址。2 異常和中斷的區別和聯絡 針對soc來說,傳送復位,軟中斷,中斷,快速中斷,取指令異常,資料異常,我們統一叫異常,所以說 中...

我的S5pv210裸機程式設計

今天是2015年0910,用的是九鼎公司的s5pv210。開始動手的第一天。第一步 把通過看i210開發板硬體手冊中,關於撥碼開關的設定,選擇usb啟動的模式,設定為1 x1xx即可使用。第二步 安裝usb線的驅動,由於驅動在win7 64位中沒有簽名所以需要破解才能安裝驅動。先使用安裝檔案中的破解...

s5pv210裸機串列埠無響應

define gpc0con volatile unsigned int 0xe0200060 define gpc0dat volatile unsigned int 0xe0200064 define gpa0con volatile unsigned int 0xe0200000 define...