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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

创建AD9361的vivado工程并导入SDK(ZYNQ平台)

發布時間:2023/12/20 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 创建AD9361的vivado工程并导入SDK(ZYNQ平台) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

vivado版本 2017.4(其它版本步驟基本相同)(官網步驟都有配圖進入可查看)
(官網鏈接 https://wiki.analog.com/resources/fpga/docs/build)
1、下載no-os文件 2018_r1
https://github.com/analogdevicesinc/no-OS
2、下載hdl文件2018_r1
https://github.com/analogdevicesinc/hdl/releases
3、windows(linux查看官網)
安裝Cygwin。因為HDL文件全是源文件,需要通過make工具生成vivado的工程文件和hdf文件。在Windows下安裝cygwin。其它博客有很多相關安裝教程。安裝中選擇git、make,不安裝其他。

打開Cygwin窗口,輸入路徑。 export PATH=$PATH:/cygdrive/e/xilinx/Vivado/2016.4/bin export PATH=$PATH:/cygdrive/e/xilinx/Vivado_HLS/2016.4/bin export PATH=$PATH:/cygdrive/e/xilinx/SDK/2016.4/bin export PATH=$PATH:/cygdrive/e/xilinx/SDK/2016.4/gnu/microblaze/nt/bin export PATH=$PATH:/cygdrive/e/xilinx/SDK/2016.4/gnu/arm/nt/bin export PATH=$PATH:/cygdrive/e/xilinx/SDK/2016.4/gnu/microblaze/linux_toolchain/nt64_be/bin export PATH=$PATH:/cygdrive/e/xilinx/SDK/2016.4/gnu/microblaze/linux_toolchain/nt64_le/bin export PATH=$PATH:/cygdrive/e/xilinx/SDk/2016.4/gnu/aarch32/nt/gcc-arm-none-eabi/bin 以上為模板。 我的:(直接復制) export PATH=$PATH:/cygdrive/d/vivado17/Vivado/2017.4/bin export PATH=$PATH:/cygdrive/d/vivado17/Vivado/2017.4/bin export PATH=$PATH:/cygdrive/d/vivado17/SDK/2017.4/bin export PATH=$PATH:/cygdrive/d/vivado17/SDK/2017.4/gnu/microblaze/nt/bin export PATH=$PATH:/cygdrive/d/vivado17/SDK/2017.4/gnu/arm5/nt/gcc-arm-none-eabi/bin export PATH=$PATH:/cygdrive/d/vivado17/SDK/2017.4/gnu/microblaze/linux_toolchain/nt_le/bin export PATH=$PATH:/cygdrive/d/vivado17/SDK/2017.4/gnu/microblaze/linux_toolchain/nt64_le/bin export PATH=$PATH:/cygdrive/d/vivado17/SDk/2017.4/gnu/aarch32/nt/gcc-arm-none-eabi/bin(檢驗: alias xmd=xmd.bat alias xsct=xsct.bat alias xsdb=xsdb.batwhich git which make which vivado 會返回正確路徑)

以下為官網方式(選擇文件。
cd cygdrive/e
克隆hdl文件庫。(目錄為adi)
mkdir adi
cd adi
git clone https://github.com/analogdevicesinc/hdl.git
選擇自己分支。
cd hdl/
git status ## check for everything, including branch name
git checkout hdl_2016_r2 ## change to the hdl_2016_r2 branch
(結果顯示:)
如果這是第一次克隆,那么您擁有所有最新的源文件。如果已經有一段時間了,您可以使用git pull或git rebase提取最新的源代碼(如果有本地更改)。
git fetch
git rebase origin/hdl_2016_r2)

4、創建工程。Xilinx。(我下載好了文件,跳過上述步驟)
我的文件目錄(HDL文件目錄)
cd E:/daxia_ad9361/hdl-2018_r1/projects/fmcomms2
(直接make 創建的是kc705的工程 工程直接保存在hdl文件的原位置,或刪除其他工程只留下zed)(此處我使用make -C zed)
make -C zed
我的:(失敗就從頭開始)大約一二十分鐘。


*/無問題不看//以下為官網檢查方法((make首先構建所有庫,然后再構建項目。這假設已經正確地設置了工具和許可證。如果沒有到達最后一行,則make無法構建一個或多個目標,它可能是庫組件或項目本身。從’make’輸出中無法收集到任何信息(除了哪個失敗之外),實際的失敗在日志文件中。因此,讓我們看看如何分析構建日志文件和結果。
獨立綜合。
通過定義ADI_USE_OOC_SYNTHESIS系統變量,可以選擇在構建過程中進行脫離上下文的合成。
export ADI_USE_OOC_SYNTHESIS=y
cd projects/daq2/zc706
make
這將分別從塊設計中合成每個IP,并將其存儲在一個公共緩存中以備將來重用。緩存位于ipcache文件夾中,并且對所有的項目都是通用的,這樣可以加速相同項目的重新編譯,或者加速基本設計中使用的公共塊的編譯時間。例如MicroBlaze為VCU118設計的基礎設計,一旦編譯,它將在其他項目上重用。使用IP緩存將加速OOC模式下每個項目的重新編譯,因為緩存不會像正常編譯流那樣被清除。
檢查庫組件的構建和分析結果。
如果你仔細觀察,你會看到它實際上在做什么。它進入一個庫組件文件夾,然后以批處理模式調用“Vivado”。IP命令在源“Tcl”文件中,輸出被重定向到日志文件。在下面的示例中,它是’axi_ad9144_ip。在’library/axi_ad9144’目錄中記錄’
*make[1]: Entering directory ‘/home/RKutty/gitadi/hdl/library/axi_ad9144’
rm -rf *.cache *.data *.xpr *.log component.xml *.jou xgui *.ip_user_files *.srcs *.hw .sim .Xil
vivado -mode batch -source axi_ad9144_ip.tcl >> axi_ad9144_ip.log 2>&1
如果您看到’make’返回一個錯誤(并停止),您必須首先檢查這個日志文件的內容,然后再對我們瘋狂。您還可以執行完整性檢查,以查看生成的文件和日志文件內容。
ls -ltr library/axi_ad9144
tail library/axi_ad9144/axi_ad9144_ip.log
檢查項目的構建和分析結果。
在上面的示例中,make做的最后一件事是構建項目。它與庫組件完全相同。在本例中,日志文件名為‘daq2_zc706_vivado’。日志,位于’projects/daq2/zc706’目錄中。
rm -rf *.cache *.data *.xpr *.log *.jou xgui *.runs *.srcs *.sdk *.hw *.sim .Xil .ip_user_files
vivado -mode batch -source system_project.tcl >> daq2_zc706_vivado.log 2>&1
make: Leaving directory ‘/home/RKutty/gitadi/hdl/projects/daq2/zc706’
快速(或詳細)檢查文件。
ls -ltr projects/daq2/zc706
tail projects/daq2/zc706/daq2_zc706_vivado.log))

最后,如果項目構建成功,hdf文件應該在’sdk’文件夾中
現在你可以使用這個“hdf”文件作為你的no-OS和/或Linux版本的輸入
5、導入SDK
導入到SDK,啟動SDK。
新建Application Project。



next 選擇空白工程 finish。

(官 一些應用程序(例如FMCOMMSx),當使用Microblaze處理器時,需要增加堆大小來進行動態內存分配。確保堆大小至少是0x100000。)

將源代碼文件(下載的no-os文件)復制到src目錄中


從app_config.h(或config.h)頭文件中取消注釋所需的運營商供應商和CPU架構
如果在src中有多個文件夾,包括文件夾的所有路徑:進入項目的設置,在C/ c++ Build—settings—Toolsettings—gcc compiler—Directories中添加所有文件夾的路徑。(建議全部直接復制到src中)
SDK將自動生成項目,控制臺窗口將顯示生成的結果。如果生成未完成,則選擇project–build automatically
此時軟件項目設置已經完成,可編程FPGA并將軟件下載到系統中。點擊Xilinx Tools→program FPGA。FPGA編程完成后,需要創建一個新的運行配置,選擇Run→Run Configurations,在運行配置窗口中選擇 Xilinx C/C++ application (System Debugger),點擊左上角的new configuration按鈕。



僅上圖為ZNYQ必須的

然后就可以下載到板子上了,首次右鍵工程 run as選擇GDB(使用串口 需要裝好驅動并在run --run config中設置)


ad_iobuf

`timescale 1ns/100psmodule ad_iobuf (dio_t,dio_i,dio_o,dio_p);parameter DATA_WIDTH = 1;input [(DATA_WIDTH-1):0] dio_t;input [(DATA_WIDTH-1):0] dio_i;output [(DATA_WIDTH-1):0] dio_o;inout [(DATA_WIDTH-1):0] dio_p;genvar n;generatefor (n = 0; n < DATA_WIDTH; n = n + 1) begin: g_iobufassign dio_o[n] = dio_p[n];assign dio_p[n] = (dio_t[n] == 1'b1) ? 1'bz : dio_i[n];endendgenerateendmodule// *************************************************************************** // ***************************************************************************

總結

以上是生活随笔為你收集整理的创建AD9361的vivado工程并导入SDK(ZYNQ平台)的全部內容,希望文章能夠幫你解決所遇到的問題。

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