【MPSoC ZCU102 BOOT.BIN文件製作】

 

 

1 說明

本文介紹了通過Xilinx官方網站提供的Vivado、petalinux等工具製作官方開發板Xilinx MPSoC ZCU102啓動文件BOOT.BIN的過程。此啓動文件可通過SD啓動方式被加載,最終引導啓動u-boot。基本流程是首先通過Vivado生成ZCU102的硬件描述文件(2019版本中爲xsa文件,之前版本爲hdf文件),再由petalinux編譯生成BOOT.BIN。本文中使用Vivado、petalinux均爲2019版本,即目前最新版本。

2 硬件描述文件製作

2.1 開發環境與參考

本文使用windows版本Vivado,運行環境爲windows 10。詳細信息可參考官方文檔:

https://china.xilinx.com/support/documentation/sw_manuals/xilinx2019_2/ug898-vivado-embedded-design.pdf

2.2 下載安裝Vivado

2019版本Vivado包含在Vitis中,Vitis下載地址:

https://china.xilinx.com/member/forms/download/xef.html?filename=Xilinx_Unified_2019.2_1106_2127_Win64.exe

       注意下載前需要註冊Xilinx官網賬號,下載後雙擊運行。如圖 2.1所示。

2.1 打開安裝軟件

       輸入Xilinx官網賬號,選擇下載完整的安裝鏡像(以備後用),選擇下載位置(需至少30G空間)。如圖 2.2所示。

2.2 配置下載位置

選在下載Vivado軟件,如圖 2.3所示。

2.3 選擇Vivado軟件

選擇Vivado HL System Edition後點擊下一步,在下一頁面中確保選擇UltraScale+,如圖 2.4所示。

2.4 選擇UltraScale+

       下一步後點擊“下載”進入下載頁面,這裏需要耗費很長一段時間。下載過程可能中斷,選擇斷電續傳模式重新下載即可。如圖 2.5所示。

2.5 下載軟件

       下載完成後雙擊xsetup.exe安裝到對應位置即可。成功安裝後雙擊桌面生成的Vivado 2019.2,打開界面如圖 2.6所示。

2.6 Vivado界面

2.3 創建工程

       點擊創建工程,如圖 2.7所示。

2.7 創建工程

點擊下一步後編輯工程名稱與工程位置,如圖 2.8所示。

2.8 編輯工程名稱與工程位置

選擇Example Project後選擇Base Zynq UltraScale+ MPSoC,如圖 2.9所示。

2.9 選擇Base Zynq UltraScale+ MPSoC

選擇ZCU102開發板,如圖 2.10所示。

2.10 選擇ZCU102開發板

點擊完成創建工程。新創建的工程包括ZCU102所需的默認配置,可按需修改。

2.4 生成導出硬件描述文件

點擊Run Synthesis,如圖 2.11所示。

2.11 Run Synthesis

       等待右上角正在運行中的標誌結束,如圖 2.12所示。

2.12 運行中

在Design Runs中可查看當前運行的位置,如圖 2.13所示。

2.13 運行位置

運行結束後出現完成界面,選擇Run Implementation,點擊OK,如圖 2.14所示。

2.14 完成 Synthesis

使用同樣的方式查看Run Implementation運行情況,此步驟會運行較長時間。完成後顯示完成界面,點擊OK即可。如圖 2.15所示。

2.15 完成

       點擊file--->Export--->Export Hardware…,如圖 2.16所示。

2.16 點擊生成硬件描述文件

默認導出路徑爲工程所在目錄,不要修改此目錄,如圖 2.17所示。

2.17 導出位置

成功導出後可在對應目錄下找到文件Base_Zynq_MPSoC_wrapper.xsa,如圖 2.18所示。

2.18 生成xsa文件

點擊Generate Bitstream生成BIT文件,此過程需要持續一段時間,如圖 2.19所示。

                                                               圖 2.19 生成Generate Bitstream

生成過程可見右上角狀態欄與Design Runs窗口,如圖 2.20所示。

2.20 生成過程

成功生成後彈出已完成界面,點擊OK即可,如圖 2.21所示。

2.21 生成結束

點擊File--->Export--->Export Bitstream File,生成bit文件,如圖 2.22所示。

2.22 導出bit文件

選擇導出bit文件路徑,這裏選擇桌面,如圖 2.23所示。

                                                                         圖 2.23 導出bit文件

到此生成了2個硬件描述文件,xsa與bit。

3 編譯BOOT.BIN

3.1 運行環境與參考

編譯BOOT.BIN需在Linux環境中進行,官方推薦Ubuntu16.04 32bit,建議不要修改。本文在Ubuntu16.04 32bit虛擬機中進行操作。詳細信息請參考官方文檔:

https://china.xilinx.com/support/documentation/sw_manuals/xilinx2019_2/ug1144-petalinux-tools-reference-guide.pdf

在虛擬機中安裝運行環境,如程序清單 3.1所示。

程序清單 3.1 安裝環境

# sudo apt-get install -y gcc git make net-tools libncurses5-dev ttpd zlib1g-dev libssl-dev flex bison libselinux1 gnupg wget diffstat chrpath socat xterm autoconf libtool tar unzip texinfo zlib1g-dev gcc-multlib build-essental -dev zlib1g:i386 screen pax gzip

3.2 下載安裝

首先需要下載petalinux(2019)與ZCU102官方BSP。注意下載前需要登錄Xilinx賬戶,下載地址:

https://china.xilinx.com/member/forms/download/xef.html?filename=petalinux-v2019.2-final-installer.run

https://china.xilinx.com/member/forms/download/xef.html?filename=xilinx-zcu102-v2019.2-final.bsp

3.3 安裝petalinux

注意:安裝petalinux不能使用root用戶

創建安裝目錄,創建後更改目錄所有者爲用戶:

$ sudo mkdir -p /opt/pkg/petalinux/2019.2

$ sudo chown -R stone:stone /opt/pkg/petalinux

安裝petalinux

$ ./petalinux-v2019.2-final-installer.run /opt/pkg/petalinux/2019.2

安裝過程可能會缺少部分庫,按需要安裝即可

獲取設置腳本,配置當前環境,成功獲取後即可以使用petalinux-xxx命令,如圖 3.1所示。

3.1 獲取設置腳本

3.4 創建、配置、編譯、打包

使用官方下載的ZCU102 BSP創建工程:

$ petalinux-create -t project -s /home/stone/xilinx-zcu102-v2019.2-final.bsp

       成功創建工程後在當前目錄出現工程目錄,如圖 3.2所示。

3.2 工程目錄

       先拷貝硬件配置文件Base_Zynq_MPSoC_wrapper.xsa到某個目錄下,再導入硬件配置:

$ cp Base_Zynq_MPSoC_wrapper.xsa /home/stone/

$ cd /home/stone/petalinux/xilinx-zcu102-2019.2

$ petalinux-config --get-hw-description=/home/stone/

       配置過程中會自動在/home/stone目錄下搜索xsa文件。配置中出現選擇菜單可直接退出不理會。

       編譯:

$ petalinux-build

       拷貝準備好的bit文件,通過如下命令進行打包:

$ petalinux-package --boot --format BIN --fsbl images/linux/zynqmp_fsbl.elf --u-boot images/linux/u-boot.elf --pmufw images/linux/pmufw.elf --fpga /home/stone/*.bit --force

       打包結束後即可在images/linux目錄下生成BOOT.BIN文件,此目錄下還包括官方linux鏡像、文件系統等文件,如圖 3.3所示。

3.3 BOOT.BIN

將BOOT.BIN文件放入SD卡,切換ZCU102開發板到SD卡啓動,上電即可啓動設備。

3.5 使用自定義u-boot源碼

使用官方BSP默認無法查看源碼,但可以通過配置其他的源碼路徑進行修改。下載Xilinx官方u-boot源碼,下載地址:

https://github.com/Xilinx/u-boot-xlnx/tree/xilinx-v2019.2

下載後解壓到任意目錄,輸入命令$ petalinux-config打開配置菜單,選擇

Linux Components Selection --->

u-boot () --->

       選擇ext-local-src,返回

       External u-boot local source settings --->

       輸入解壓u-boot源碼路徑,如圖 3.4所示。

3.4 更換源碼路徑

       保存退出後使用命令petalinux-bulid重新編譯即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章