ZCU106 XRT环境搭建【Xilinx 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软件栈结构如下。

    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

    文件目录结构如下图:

    3.4 平台使用
    将下载的或是自己生成的zcu106vcu_base的整个目录复制到Vitis安装目录的platforms文件夹内,这样在使用Vitis创建工程时即可选择作为开发平台。如下图:

    后续我将继续写一些文章来介绍如何使用生成的zcu106vcu_base平台。

    4 总结
    通过本文,读者了解了:

  • Xilinx的新工具Vitis,与以前工具的区别
  • XRT是什么
  • 自定义XRT平台的搭建方法
  • 自定义ZCU106 XRT平台的使用方法
  • ————————————————
    版权声明:本文为CSDN博主「vacajk」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接: https://blog.csdn.net/vacajk/article/details/103434559

    最新文章