ZYNQ MPSOC自定义单板创建PYNQ镜像V2.6

本文转载自:硬码农二毛哥微信公众号

完成在Ubuntu18.04上安装Vivado Vitis Petalinux 2020.1后,下一步在自定义单板创建PYNQ镜像。

PYNQ简介

PYNQ结合了Zynq与Python的优势,是机器学习/人工智能、边缘计算、大数据处理等算法加速的优秀平台。PYNQ这个名字来自于Python productivity for Zynq,PYNQ使用Python语言简化了Zynq应用程序开发过程。

PYNQ框架由硬件、软件和应用三层组成。在应用层PYNQ框架使用Python在Jupter notebooks开发应用程序,可以方便的调用各种Python库。在软件层,包含Python软件、基于Linux的操作系统和驱动。在硬件层,Overlays,或者硬件库,通过它们用户可以把Zynq处理系统上应用扩展到可编程逻辑层面。PYNQ提供一个Python交互界面,通过Python直接调用overlays。用户可以使用已有的overlays,也可以自己开发overlays。通过overlays可以对特定功能进行加速。

在开发过程中,将生成的PYNQ镜像烧写到SD卡中,SD卡插入单板,上电启动,笔记本电脑通过网线与单板连接,通过Jupternotebook编程控制单板。PYNQ框架支持所有Zynq7000和ZynqMpsoc系列器件。

构建环境与工具

Ubuntu18.04

Vivado 2020.1

Petalinux 2020.1

Pynq2.6.0

下载离线镜像pynq_rootfs_aarch64

安装过程参照在[Ubuntu18.04上安装Vivado Vitis Petalinux 2020.1]。

从Xilinx GitHub下载Pynq组件:

git clone https://github.com/Xilinx/PYNQ.git
cd PYNQ
git checkout v2.6.0
git checkout -b fzu3

PYNQ组件中包含如下文件夹:

设置环境变量

~/.bashrc中加入如下代码,以后每次打开一个新终端,都会自动加载。

source /tools/Xilinx/Vivado/2020.1/settings64.sh
source /tools/Xilinx/PetaLinux/2020.1/settings.sh
source /tools/Xilinx/Vitis/2020.1/settings64.sh
export PATH=/opt/qemu/bin:/opt/crosstool-ng/bin:$PATH

在PYNQ/sdbuild/scripts中运行

source setup_host.sh

开始构建

将pynq_rootfs_aarch64解压后的文件bionic.aarch64.2.6.0_2020_10_19拷贝到/sdbuild/prebuild文件夹中。

在 ./PYNQ/boards/ 目录下新建文件夹 fzu3

在 fzu3 中再新建两个文件夹分别为 base 和petalinux_bsp

在 petalinux_bsp 中再建立文件夹 hardware_project

将工程中的bit文件重名为base.bit拷贝到base

fzu3.xsa拷贝到hardware_project

在fzu3文件夹中新建fzu3.spec文件,在fzu3.spec中填入内容如下:

ARCH_fzu3 := aarch64
BSP_fzu3 :=
BITSTREAM_fzu3 :=
FPGA_MANAGER_fzu3 := 1
STAGE4_PACKAGES_fzu3 := pynq ethernet

在sdbulid文件夹运行命令开始构建

makeBOARDS=fzu3 PREBUILT=./prebuilt/bionic.aarch64.2.6.0_2020_10_19.img

如果构建出错,可以使用如下指令清除构建的文件:

make delete
make unmount
make clean

烧写

在./PYNQ/sdbuild/output文件夹中,运行指令,将镜像烧写到sd卡:

df -h
sudo dd if=fzu3-2.6.0.img of=/dev/sdb bs=4M

最新文章

最新文章