???????根據(jù)自己系統(tǒng)選擇相應版本,本人下載的圖示箭頭版本,解壓、給權限,記住文件夾路徑,將交叉編譯環(huán)境添加到系統(tǒng)內(nèi)(根據(jù)需求,本人還有其他其他環(huán)境就沒“寫死”)。
一、 cd u-boot-xlnx-xilinx-v2018.3
二、指定交叉編譯環(huán)境
export ARCH=armexport CROSS_COMPILE=/tools/gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabi/bin/arm-linux-gnueabi-
三、指定編譯配置
make zynq_zed_config 注意:這里會有幾個錯誤: 1、缺少XXXX 根據(jù)提示,缺少什么安裝什么即可 2、Your GCC is older than 6.0 and is not supported 這個是GCC版本問題,vim arch/arm/config.mk 將64,65,68-73行注釋掉,如圖所示
四、make 圖示位置完成編譯
五、修改名稱 ls 文件夾下生成了u-boot.bin和u-boot,我們需要的是u-boot(不帶后綴)。
六、修改名稱
mv u-boot u-boot.elf 這樣就完成了官方源碼的編譯,下面會用到。
1、下載官方源碼 首先需要去官方 ??
https://github.com/analogdevicesinc/hdl 下載對應的開發(fā)包,使用git即可下載。 這里說明一下,這個倉庫里有很多分支: 放了這么多分支主要原因就是我們使用的FPGA EDA軟件版本和工程緊密相關,尤其Vivado,所以官方針對不同的Vivado和Quartus II做了很多版本,具體對應關系如下,一定要針對自己使用的版本下載對應的分支,否則會有很多意想不到的問題。 分支版本和Vivado版本對比(參考:https://github.com/analogdevicesinc/hdl/releases)
源碼版本Vivado/Quartus II版本
hdl_2019_r2Xilinx Vivado 2019.1 Quartus Prime Pro Edition 19.3 Quartus Prime Standard Edition 18.1
hdl_2019_r1Vivado 2018.3 Quartus Prime Standard Edition 18.1
hdl_2018_r2Vivado 2018.2* Quartus Prime Standard Edition 18.0
hdl_2018_r1Vivado 2017.4.1 Quartus 17.1.1
hdl_2017_r1Vivado 2016.4* Quartus 16.1
hdl_2016_r2Vivado 2016.2 Quartus 16.0
hdl_2016_r1Vivado 2015.4.2 Quartus 15.1
hdl_2015_r2Vivado 2015.2.1 Quartus 15.1
hdl_2015_r1Vivado 2014.4.1 Quartus 15.0
hdl_2014_r2Vivado 2014.2 Quartus 14.0
hdl_2014_r1Vivado 2013.4 Quartus 14.0
利用git下載相應的源碼即可開啟下面的步驟了。
2、搭建Linux開發(fā)環(huán)境 官方的開發(fā)環(huán)境都是基于Liunx搭建的,Makefile自動化運行。選用WSL+Vivado其實是很好的選擇,本人也是基于這個組合。 這里先介紹怎么搭建WSL+Vivado的組合,后續(xù)會針對Windows用戶Vivado下怎么使用。 WSL+Vivado環(huán)境搭建
一、參考《1202年了,還在使用虛擬機嗎?Win10安裝Ubuntu子系統(tǒng)及圖形化界面詳細教程》搭建WSL可視化界面(不可視化也可);
二、解壓《Xilinx_SDx_2018.3_1207_2324.tar》,解壓后進入解壓后的文件夾內(nèi);
三、輸入 sudo 。/xsetup;
四、等待一段時間,就會出現(xiàn)圖形安裝界面,接下來就完全和Windows安裝完全一樣,就不在贅述;
五、安裝完成后,將vivado/2018.3 目錄下面的settings64.sh里的代碼復制粘貼道bashrc的文件里面 sudo gedit ~/.bashrc
六、粘貼到bashrc文件最后,然后輸入下面命令讓bashrc文件重置更新下 source ~/.bashrc
七、然后在終端中執(zhí)行vivado即可進入。 這樣就安裝完畢了 3、生成bit文件 基于2.1節(jié),打開命令行(Terminal),輸入以下命令,下載源碼: //一定要根據(jù)使用的vivado版本選擇好分支
mkdir sdrcd sdrgit clone https://github.com/analogdevicesinc/hdl.git 下載源碼后
cd hdl
cd projects/adrv9364z7020 //這里根據(jù)和官方類似板卡的類型sudo make 接下來就是漫長的等待,上面make命令會生成vivado工程并生成bin文件。
注意:如果是自己自研的板卡,是不需要等待編譯結(jié)束的,只需要根據(jù)時間等工程創(chuàng)建完即可。 4、生成u-boot 用Vivado打開《ccbob_lvds》下的文件夾下的工程,如下: 整個工程稍復雜一點,主要包括ZYNQ和AD936X兩個IP,其他都是相關的互連總線。在此相關的工程下可以根據(jù)自己的需求修改工程,這里就不演示了,接下來將生成.bit、hdf等文件,導入到SDK。
一、GenerateBit
二、導入到SDK
三、項目導出后,在 SDK 中創(chuàng)建一個新的 FSBL 項目。為此,請右鍵單擊左側(cè)“項目資源管理器”面板中新導出的硬件平臺規(guī)范,然后從彈出菜單中選擇“新建 》 項目”。在第一個對話框頁面上選擇“Xilinx - Application Project”。在第二個對話框頁面上為項目選擇一個名稱(例如 zynq_fsbl),在第三個頁面上選擇“Zynq FSBL”模板。 該項目應該自動構(gòu)建。如果沒有,可以通過右鍵單擊左側(cè)“項目資源管理器”面板中新創(chuàng)建的項目并從彈出菜單中選擇“構(gòu)建項目”來啟動手動構(gòu)建。項目構(gòu)建完成后,就可以生成啟動映像了。這是通過右鍵單擊左側(cè)“項目資源管理器”窗格中的項目并選擇“創(chuàng)建引導映像”來完成的。這將打開 bootgen 向?qū)Аootgen 向?qū)枰齻€文件:
隨便選一個輸出路徑,然后在底下將三個文件填加進去,注意順序不能錯。分別是fsbl.elf(bootloader) .bit(datafile) u-boot.elf(datafile)。將這些文件添加到對話框中的分區(qū)列表,然后選擇一個輸出文件夾。 點擊Create Image就能生成Boot.bin 5、利用官方腳本生成u-boot 官方提供了一個腳本可以自動構(gòu)建BOOT.bin,詳細的地址:
chmod +x build_boot_bin.shusage: build_boot_bin.sh system_top.hdf u-boot.elf [output-archive] l路徑system_top.hdf和u-boot.elf是必需參數(shù)。 lname可以將可選的第三個參數(shù)提供給 tar.gz 輸出目錄。( name.tar.gz) l構(gòu)建輸出位于名為:output_boot_bin 的本地目錄中。 l此腳本需要賽靈思 XSDK 和 PATH 中的 bootgen(SDK的路徑在環(huán)境中)。
編譯完成如下圖所示: 在路徑下就能找到BOOT.bin 這樣第一個文件就準備好了,接下來創(chuàng)建設備樹和內(nèi)核。
6、創(chuàng)建內(nèi)核uImage 首先還是需要下載源文件,地址:
https://github.com/analogdevicesinc/linux 還是根據(jù)自己使用的Vivado版本選擇相應的分支。 cd linux-2019_R1 檢查環(huán)境變量CROSS_COMPILE,若沒有則添加上,同u-boot添加方法
make zynq_xcomm_adv7511_defconfig
make -j5 UIMAGE_LOADADDR=0x8000 uImage 下面路徑下就生成了uImage 完成內(nèi)核的編譯
7、創(chuàng)建設備樹 繼續(xù)上面的步驟
make zynq-zed-adv7511-xcomm.dtb 下面路徑下就有了設備樹 8、創(chuàng)建文件系統(tǒng) 文件系統(tǒng)對平臺的依賴性不大,所以沿用官方的img內(nèi)的文件系統(tǒng)。 將u-boot、設備樹和uImage拷貝到SD卡的BOOT目錄下,就完成了系統(tǒng)的搭建。
責任編輯:lq6
-
編譯
+關注
關注
0文章
676瀏覽量
33759
原文標題:AD936x+ZYNQ搭建收音機(三)-終篇
文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
如何使用One Spin檢查AMD Vivado Design Suite Synth的結(jié)果

如何將FX3與WSL(Linux 的 Windows 子系統(tǒng))一起使用?
旺詮WSL系列合金電阻的低阻值如何實現(xiàn)高精度?

PCM4201系統(tǒng)時鐘需要外部輸入,如何去搭建一個頻率為24.576MHZ的時鐘電路?
Vivado Design Suite用戶指南:邏輯仿真

云電腦需要怎么去搭建,云電腦需要怎么快速去搭建

RHEL即將成為微軟WSL的官方Linux發(fā)行版
Xilinx_Vivado_SDK的安裝教程

每次Vivado編譯的結(jié)果都一樣嗎

Vivado使用小技巧

評論