ZCU106 XRT环境搭建【Xilinx Vitis】

更新

20200406:
下载地址:ZCU106 Vitis Platform
新编译了一下ZCU106的Vitis Platform。
APP添加了vim,file,unzip,ffmpeg。ROOTFS添加了opencv-dev,gstreamer-dev,v4lutils-dev。
添加的-dev相关组件可以用于在Linux Vitis中对相关功能进行交叉编译。

1 前言

新工具Vitis

最近在看Xilinx新出的工具Vitis,这个工具咋说呢,改了好多。。

  • 之前的SDSoC,SDAccel统一被Vitis来实现
  • 之前按的SDK直接被Vitis替代
  • 之前按的基于Eclipse IDE的工程结构,统一被新的叫做domain的东东给替代
  • 类似于SDx环境,Vivado被直接集成到Vitis中

以上就是我的理解,总之就是Xilinx要搞:Vitis 统一软件平台

代码仓库XRT

以前玩过一下下SDSoC合SDAccel,没有深究。看了Xilinx的Github,还有Vitis的文档,都有提到了一个叫XRT的东西。按照Vitis文档说明:当需要开发基于硬件加速的应用程序时,需要安装Xilinx Runtime (XRT)。

2 XRT

XRT Software Stack

如下图,XRT软件栈结构如下。
ZCU106 XRT环境搭建【Xilinx Vitis】_第1张图片
XRT可以支持两种开发模式,一种是使用PCIe作为中间层进行相关开发,另一种是在嵌入式内直接进行开发。我没有开发PCIe板卡的需求,所以之后的一切开发还是基于嵌入式系统,就是上图中橙色部分的(Linux MPSoC Driver zocl)。
用户通过XRT的中间件即可方便的在上层使用Python/C/C++进行应用开发。

ZCU106 XRT

在代码目录XRT/src/platform/中包含了依赖各种官方硬件的XRT平台,包括ZC702, ZC706, ZCU102, ZCU104, ZED等,但是其中并没有我需要的ZCU106的平台。
因此我会基于一下的环境来进行ZCU106 XRT 的平台搭建。

  • XRT 2019.2分支
  • Vitis 2019.2
  • Petalinux 2019.2
  • Ubuntu 16.04

我Fork了Xilinx/XRT的代码,并在2019.2分支上编写合测试了ZCU106的相关自动化生成脚本。

3 ZCU106 XRT 平台创建

如果读者希望了解平台创建的过程,可以阅读本章进行了解。或者跳过本章直接使用我自己编译好的ZCU106 XRT 平台仓库的文件。

3.1 预编译好的ZCU106 XRT平台安装包

下载地址:zcu106_xrt_platform.txt

3.2 工具脚本介绍

XRT/src/runtime_src/tools/scripts目录下有很多脚本,可以用于自动化生成一些依赖或是实现一些编译功能。可以通过阅读其中的README.md进行了解。下面我将介绍一些我使用到的关键脚本。

xrtdeps.sh

用于自动安装XRT的各种依赖库,运行时要求有管理员权限

setup.sh

用于将XRT的相关功能安装到本地/opt/xilinx/xrt目录内。貌似进行编译合时会使用到。

xsa_build.sh

用于运行xsa创建脚本,调用vivado实现工程创建和输出xsa文件(xsa其实就是以前的hdf文件)。

peta_build.sh

使用xsa_build.sh运行完生成的xsa文件,并调用Petalinux实现Linux的编译。

pfm_build.sh

将Petalinux生成的各种结果,生成Vitis专用的Platform,用于后续的XRT,Hardware Acceleration,OpenCL,Linux APP,Bare metal APP,RTOS APP开发。

ertbuild.sh

是xsa_build.sh,peta_build.sh,pfm_build.sh三者加起来运行的脚本。

3.3 编译与生成

运行如下脚本,即可生成Vitis使用的平台仓库

cd ~/********/XRT/src/runtime_src/tools/scripts
source /opt/xilinx/xrt/setup.sh
source ~/Xilinx/Vivado/2019.2/settings64.sh
source ~/Xilinx/PetaLinux/2019.2/settings.sh
# build xsa
./xsa_build.sh ../../../platform/zcu106vcu_base/zcu106vcu_base_xsa.tcl
# build petalinux
./peta_build.sh ./xsa_build/zcu106vcu_base/zcu106vcu_base.xsa
# build pfm
./pfm_build.sh ./xsa_build/zcu106vcu_base/zcu106vcu_base_pfm.tcl

运行完成后可以在XRT/src/runtime_src/tools/scripts/platform下即可找到编译好的ZCU106 XRT平台:zcu106vcu_base
文件目录结构如下图:
ZCU106 XRT环境搭建【Xilinx Vitis】_第2张图片

3.4 平台使用

将下载的或是自己生成的zcu106vcu_base的整个目录复制到Vitis安装目录的platforms文件夹内,这样在使用Vitis创建工程时即可选择作为开发平台。如下图:
ZCU106 XRT环境搭建【Xilinx Vitis】_第3张图片
后续我将继续写一些文章来介绍如何使用生成的zcu106vcu_base平台。

4 总结

通过本文,读者了解了:

  • Xilinx的新工具Vitis,与以前工具的区别
  • XRT是什么
  • 自定义XRT平台的搭建方法
  • 自定义ZCU106 XRT平台的使用方法

你可能感兴趣的:(Vitis,XRT)