zynq中斷,SDK暫存器

2021-10-19 02:48:30 字數 946 閱讀 2385

中斷**分成三大類spi,ppi,sgi總共96個id號的中斷,這96個中斷要按照不同的優先順序分配到兩個處理器上,這就需要對中斷進行管理:很多輸入的中斷給2個處理器核的中斷控制器需要設定一些什麼樣的控制器暫存器。首先必須有全域性使能,而具體到每乙個中斷的id號,要設定是否使能(是否生處理器中斷),以及優先順序(同時發生先發生誰),還要指定中斷訊號傳送給哪個處理器。

icddcr 開啟或者關閉中斷設定。(全域性)

icdicfr 配置中斷觸發模式。(2bit)【一位表示觸發型別,一位表示是否僅cpu0接受中斷】

icdipr 中斷優先順序設定。(8bit)【數值越低優先順序級別越高】 對應有乙個iccpmr設定接受中斷的優先順序門限。

icdiptr 相應處理器選擇。(8bit)【if(bit0) select cpu0 if (bit1) select cpu1】留8位是預留更多核

icdicer 中斷遮蔽暫存器。(1bit)

icdiser 中斷使能暫存器。(1bit)

icdicpr 清除中斷標誌位。(1bit)

icciar 讀之得到正在發生的中斷請求是什麼id號發出的(10bit ),要求哪個處理器執行的(3bit)。乙個讀的操作同時清除了所讀到中斷號的標誌位。【讀可以得到數,並且賦予了讀這個動作本身有意義】.

iccpmr 可執行中斷優先順序 預設是f0,也就說從0到ef的優先順序都被允許中斷.

iccicr 是fiq或者是irq.

具體設定某乙個中斷id所對應的中斷處理資訊,sdk提供了庫函式可以直接呼叫,

1,首先要中斷向量要轉跳到irq的服務程式。對應一下函式:

2, 有幾十方式可以產生irq (id號96個),所以我們要知道具體是哪個發生了中斷號發生了irq中斷。找到後對應呼叫相應的處理程式。

3,找到具體是哪個id號的中斷,下面步驟就是要對應再處理,可能要進行再細分(比如要118個gpio可以產生52號中斷要判斷出具體哪一位)。以及進行其他相應處理。

DSP 中斷暫存器

幾乎所有的mcu都不允許mov指令修改pc值,這是乙個常識。2.中斷服務表指標暫存器istp interrupt servicetable pointer 用於確定中斷服務程式在中斷服務表中的位址。istp中的字段istb確定ist的位址的基值,另一欄位hpeint確定特定的中斷,並給出這一特定中斷...

暫存器(通用暫存器)

因為學習使用的是王爽的 組合語言 第3版 因此也只能提到8086cpo的暫存器。對於其他而言,原理都是相通的。對於8086暫存器,有14個暫存器,主要是 ax bx cx dx si di sp bp ip cs ss ds es psw。一 通用暫存器 8086的通用暫存器有ax bx cx dx...

暫存器,標誌暫存器

涉及硬體傳輸資料的,往往包含以下內容 1.資料傳輸引腳 資料放 2.控制引腳 怎麼控制 3.狀態引腳 結果如何 暫存器相當於cpu內部的儲存單元,可能是連續排列,相當於 c語言中的陣列。一 8個通用暫存器 16 bit accumulate axah alr0 count cxch clr1 dat...