创建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,不安裝其他。
以下為官網方式(選擇文件。
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。
(官 一些應用程序(例如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
總結
以上是生活随笔為你收集整理的创建AD9361的vivado工程并导入SDK(ZYNQ平台)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux i2c子系统驱动probe
- 下一篇: Linux块设备IO子系统