zynq中mgtx應用 ZYNQ中斷體系

2021-10-12 20:57:19 字數 1672 閱讀 1270

arm中斷體系

01

arm體系中,在儲存位址的低位,固化了乙個32位元組的硬體中斷向量表。

異常中斷發生時,程式計數器pc所指的位置不同,異常中斷就不同。中斷結束後,中斷不同,返回位址也不同。但是,對於系統復位中斷,不需要返回,因為整個應用系統就是從復位中斷中開始的。

快速中斷請求:外部引腳的快速中斷請求,比外部中斷請求等級高,但是一般外設的中斷請求使用外部中斷請求。

未定義的指令:arm或協處理器認為當前指令未定義。

arm中斷流程:

zynq中斷體系

zynq包括三種中斷:私有中斷,軟體中斷和共享中斷。

1)私有中斷:每個cpu連線5個私有中斷,中斷id27—31。

3)共享中斷:接收來自如gpio、dma、定時器等模組的中斷訊號。中斷號32-95。

它們之間的關係:

pl端的乙個按鍵,點亮ps端led。

首先還是硬體配置,加入zynq的軟核,配置一下ddr和uart。

然後,因為要用到pl端的按鍵,所以要建立pl與ps之間的聯絡,通過emio或者axi匯流排,emio能不能中斷還沒有研究,這裡用的axi。

加axi_gpio ip核,設定gpio埠中斷使能,gpio寬度為1(只用了乙個按鍵),設定方向為全輸入。

2. 開啟中斷

3. ps端led,設定i/o外設,gpio裡勾選mio,點亮的led管腳為mio0。

中斷**

04

各種初始化:

1.初始化按鍵:

2.初始化led:

3.初始化中斷:

4.中斷函式:

b.接著是定義了乙個interruptsystemsetup函式,定義為:

第三個引數,呼叫的中斷處理函式,發生的中斷操作寫在裡面。第四個引數,連線的物件,這裡是按鍵,即將中斷行為與按鍵行為連線起來。

zynq中純PL程式設計

沒接觸zynq之前,只用過fpga,在fpga中用verilog程式設計簡單明瞭,後來稍微學習過一點nios ii,就在fpga中也用過一點點nios ii。所以在剛接觸zynq的時候,我就感覺zynq跟altera的fpga和nios ii的程式設計肯定會有一些相似的地方。學習zynq的時候,一開...

ZYNQ中斷實驗

程式中編寫了 3 個函式,乙個是 main 主函式,乙個是中斷建立函式,另乙個是中斷呼叫 函式。首先在 main 函式中初始化定時器 timer,指定 timer 的裝置號為 xpar xscutimer 0 device id,此裝置號在 xparameters.h 的標頭檔案中定義了的。再設定定...

zynq中斷入門

zynq的ps是基於arm架構,使用兩個arm cortex a9處理器和gic pl390中斷控制器。系統中斷框圖如下 interrupt controller 中斷控制器 框圖如下 中斷詳細分為sgi software generated interrupts 軟體中斷,ppi private ...