# Pynq Image for ZCU102 ###### tags: `fpga` `lab` `ntu` ## petalinux https://pynq.readthedocs.io/en/latest/pynq_sd_card.html ``` git clone https://github.com/Xilinx/PYNQ.git ./PYNQ/sdbuild/scripts/setup_host.sh ## Install : PetaLinux, Vivado, SDK 安裝 petalinux chmod +x petalinux-v2019.1-Final-installer.run ./petalinux-v2019.1-Final-installer.run ./<Petalinux Install Path> ## Source : Vivado, SDK, Petalinux source petalinux 藥用 bash ..... ``` ## <font color="red">Very Important</font> 1. shell => 要用bash 不能用zsh (無言超爛...) 2. vivado , sdk , petalinux 的版本都要相同對 ## Pynq Image 製作 [Ref http://www.wuquantai.com/?p=746](http://www.wuquantai.com/?p=746) ### Host 環境 1. Xilinx Vivado 2. Xilinx SDK 3. petalinux 需要同個年份的, 比如都是2019或2018 * 下載原生pynq映像檔 [prebuild Pynq image](http://bit.ly/2IwiiWO) * 下載zcu102 SPEC檔案 [zcu102 bsp 2019.1](https://www.xilinx.com/member/forms/download/xef.html?filename=xilinx-zcu102-v2019.1-final.bsp) [zcu102 bsp 2018.3](https://www.xilinx.com/member/forms/download/xef.html?filename=xilinx-zcu102-v2018.3-final.bsp) <font color="red">✩✩ 請自己尋找所需版本,要跟vivado同個版本(ex 2019.1),版本不對會GGGG</font> ``` git clone https://github.com/Xilinx/PYNQ.git //git checkout image_v2.4 #這行死都不要打 不然會GG ## 檢查環境 qemu , crosstool-ng ./PYNQ/sdbuild/scripts/setup_host.sh ## ZCU102 setting cp -rf PYNQ/boards/ZCU104 PYNQ/boards/ZCU102 rm -rf PYNQ/boards/ZCU102/petalinux_bsp/ mv PYNQ/boards/ZCU102/ZCU104.spec PYNQ/boards/ZCU102/ZCU102.spec ## 修改 spec vim PYNQ/boards/ZCU102/ZCU102.spec > ARCH_ZCU102 := aarch64 > BSP_ZCU102 := xilinx-zcu102-v2019.1-final.bsp > STAGE4_PACKAGES_ZCU102 := ethernet ## 複製 bsp 和 img cp ~/xilinx-zcu102-v2018.3-final.bsp PYNQ/boards/ZCU102/ mkdir PYNQ/sdbuild/prebuilt cp ~/bionic.aarch64.2.3.img PYNQ/sdbuild/prebuilt shell改/bin/bash ## Source PATH=/opt/qemu/bin:/opt/crosstool-ng/bin:$PATH source /tools/Xilinx/Vivado/2019.1/setting64.sh source /tools/Xilinx/SDK/2019.1/setting64.sh source petalinux/settings.sh #需要先安裝petalinux petalinux-util --webtalk off # 編譯BOOT cd PYNQ/sdbuild/ make boot_files BOARDS=ZCU102 make images BOARDS=ZCU102 PREBUILT=prebuilt/bionic.aarch64.2.5.img # img file ls output ``` 燒SD_Card ``` sudo dd bs=1m if=imagezcu102?.img of=/dev/sd? ```