日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

zedboard--zynq使用自带外设IP让ARM PS访问FPGA(八) 转载

發布時間:2023/11/30 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 zedboard--zynq使用自带外设IP让ARM PS访问FPGA(八) 转载 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章來源 http://blog.chinaaet.com/detail/34609

熟悉了xps的操作,IP添加,總線連接設置,圖形化方法檢查(open graphical design view),檢查總線及端口連接。

在file下面的圖標中,打開導出到SDK并啟動,完成程序編寫。

?

?

?

?

參考超群天晴的博客http://www.cnblogs.com/surpassal/,使用XPS為PS?處理系統?添加額外的IP。從IP Catalog 標簽添加GPIO,并與ZedBoard板子上的8個LED燈相連。當系統建立完后,產生bitstream,并對外設進行測試。以后還有一個很重要的自定義用戶Ipcore設計,下個實驗來做下這個(一開始以簡單的led和sw為例)。這個實驗就使用呢自帶外設IP。

使用的平臺是XPS 14.2+SDK 14.2

一 硬件配置

1、啟動xps創建工程Create New Project Using BaseSystem Builder

創建工程。因為PS系統和FPGA連接是采用AXI接口,因而選擇內部互聯類型(Interconnect Type) 為AXI。

選擇設計平臺為ZynqZC702

到外設配置界面,系統會默認有GPIO_SW和 LEDs_4bits 這兩個外設,我們不需要,remove

2、添加AXI GPIO外設

進入主界面

?

工程建立后,在IPCatalog中,找到GeneralPurpose IO,找到 AXI GPIO,雙擊添加到系統中。

修改元件實例化名稱為axi_LED,這個名稱就是將要實例化連接到PS的元件。將長度改為8,其他默認。

?

Ok后出現

點擊ok,

點開BusInterfaces標簽,可以看到系統匯總現在有PS(這里是processing_systems7_0) 、添加的外設axi_LDs 和AXI內部互聯總線axi_interconnet_1。可以看到對于?axi_interconnet_1來說,PS是AXI主設備,外設是AXI從設備。

在Port標簽,將IO_IF中的GPIO_IO設置為External Ports,將Port名稱改為LED。LED就是頂層對外的引腳名稱,注意這里和參考博客不同。按照參考博客中的不能成功。

0521注:此處名字試過了,改不了,所以ucf文件與此同名。

?

3、設定引腳約束

在project標簽中,找到system.ucf約束文件,

4、點擊Generate BitStream,生成bitstream

5、將硬件配置導入到SDK,啟動SDK。這里需要將bitstream和BMM文件同時包括到SDK中。

?

二、創建軟件程序

使用新建工程向導。注意,這里使用工程模板為Memory Tests

新建工程后,會有幾個存儲空間測試的文件,我們不需要,刪掉。

?

修改main文件,內容如下

//@超群天晴?http://www.cnblogs.com/surpassal/ ??#include <stdio.h> ?#include "xparameters.h" ?#include "xil_types.h" ?#include "xstatus.h" ?#include "xil_testmem.h" ?#include "xgpio.h" ?#include "platform.h" ? ??void print(char *ptr); ?int main() { ???? static XGpio LED_Ptr;//定義GPIO指針 ???? int XStatus;//函數返回狀態 ?????init_platform(); ?????print("ZedBoard project_7: PS_AXI_LED\n\r"); ???? print("xzy 2013年09月18日18:12:31\n\r"); 注意下面一定要改名字哦,以前XPAR_AXI_LDS_DEVICE_ID ???? XStatus = XGpio_Initialize(&LED_Ptr,XPAR_AXI_LED_DEVICE_ID); ???? if(XST_SUCCESS != XStatus) ???????? print("GPIO INIT FAILED\n\r"); ? ??? XGpio_SetDataDirection(&LED_Ptr, 1,0x00);//通道1;設置方向 0 輸出 1輸入 ?????XGpio_DiscreteWrite(&LED_Ptr, 1,0xaa); ?????cleanup_platform(); ?} ? 在下載軟件程序前,需要將bitstream文件燒如FPGA,對FPGA進行配置。在工具欄中Xilinx tools->Program FPGA,也可以使用XPS中的Device Configuration->Download Bitstream等其他配置FPGA的方式。

配置完FPGA后,下載軟件程序,可以看到超級終端顯示調試信息:

注明:helloworld工程也是可以的,不一定非要是memory test工程。

?

轉載于:https://www.cnblogs.com/dujianzw/p/4521275.html

總結

以上是生活随笔為你收集整理的zedboard--zynq使用自带外设IP让ARM PS访问FPGA(八) 转载的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。