智能计算系统课程-01环境配置

智能计算系统课程-01环境配置

  • 课程简介
  • 软件平台及工具链安装
    • IDE工具:vitis安装
    • 嵌入式平台安装&交叉编译器部署
      • 下载
      • 解压到指定位置
      • 安装交叉编译工具
    • 配置板级支持包
    • 总结及环境检查

课程简介

本课程是本人在bjtu学习的课程之一,课程目标是在xilinx平台学习基本的加速设计,最终完成硬件加速的课程设计。课程内容来源为课程PPT,参考xilinx官方文档UG1393 (v2022.2)应用加速开发,在学习的过程中需要结合老师的ppt以及视频课程和UG1393文档一同进行学习,这几部分互为补充。实验室已经具备安装好的环境,本文档旨在本地进行单独的环境部署,以体验全过程,更好的理解工程开发的必要环节。

软件平台及工具链安装

操作系统:ubuntu 20.04LTS 64
软件本地部署在VMvare虚拟机中的ubuntu 20.04LTS 64位上,硬盘给到至少300GB,vitis的安装包约73GB,完全安装需要200G以上,安装时选择部分硬件平台的情况下,安装完成121GB。

首先下载所使用的IDE以及交叉编译GCC等工具:

IDE工具:vitis安装

下载地址:xilinx download
1.在打开的网页中选择vitis(SW Developer)并在左侧选择对应日期的版本,我这里使用2022.1版本;
2. 下拉找到完全安装包并下载:** Xilinx Unified Installer 2022.1 SFD (TAR/GZIP - 73.81 GB)**
3. 将下载好的安装包复制进ubuntu的download文件夹下,并解压;
4. 在解压后的文件夹中启动命令行,执行sudo ./xsetup即可打开图形界面引导安装,designed tools必选 vivado vitis vitis HLS, 器件选择根据个人需要选择,UG1393文档详细介绍了安装过程。
5. 安装完成后可以设置环境变量:(这简单提一句,我们留到所有环境配置完成后再仔细讲环境变量配置)

source /tools/Xilinx/Vitis/2022.1/settings64.sh

嵌入式平台安装&交叉编译器部署

课程PPT在这里的叙述有些简略,导致我一开始始终无法进行课程实验,师兄指导使用服务器已经配置好的环境进行实验后,我在本地也部署成功,这里详细记录一下。
这里需要有些介绍,在UG1393中,这部分叫做“安装 Xilinx Runtime 和平台” 简称XRT。在XRT官方网站介绍中了解到,XRT运行时库是一款开源标准化软件接口,其可促进应用代码与加速内核之间的通信,这些加速内核部署在基于 PCIe 的 Alveo 加速卡、Zynq 7000、Zynq UltraScale+ MPSoC 嵌入式平台或 Versal ACAP 的可重新配置部分上。XRT在主机 CPU 上运行。在嵌入式平台上,主机是指 AMD 平台上的 ARM 处理器,而在 Alveo 加速卡上,主机则是指服务器上基于 x86 的 CPU 或 Power PC CPU。

下载

下载地址:xilinx download
1.在打开的网页中选择Vitis Embedded Platforms并在左侧选择对应日期的版本,我这里使用2022.1版本。
2.下拉找到完全安装包并下载ZYNQMP common image (TAR/GZIP - 1.89 GB),这里介绍一下,这个包含一个预构的 Linux 内核及根文件系统,该系统可以与任何针对嵌入式 Vitis 平台开发者提供的 Zynq、ZynqMP 或 Versal 开发板一起使用。这两个文件都需要与 Vitis 嵌入式平台页面提供的平台专用引导映像 (Boot.bins) 一起复制到一个 SD 闪存卡中。这里应该是要把系统文件构建到sd卡上以便于启动host内核,我还没有做到这部分后面补充。而且随附提供的还有嵌入式 Vitis 平台应用开发所需的“sysroot”。 必须使用 sdk.sh 脚本在 Linux 开发主机上正确设置压缩的 Yocto 项目 SDK。

解压到指定位置

3.将下载好的安装包复制进ubuntu的download文件夹下,上面介绍了,这个包包含两个部分一个是
预先编译的内核及根文件系统,这部分在之后的编译中会用到,需要把路径添加到Makefile中,因此我们不解压到download这个临时文件夹,我选择按照UG1393解压到 /opt/xilinx/platforms,注意解压到根文件系统需要root权限:

sudo tar -zvxf xilinx-zynqmp-common-v2022.1_04191534.tar.gz -C /opt/xilinx/platforms

安装交叉编译工具

这样我们就把所需要的内核Image和根文件系统rootfs.ext4部署好了,接下来在解压后的文件夹中执行

./sdk.sh

启动交叉编译器的安装,这里会生成sysroots。老师的服务器安装在解压文件夹同一目录中,我这里直接默认路径:/opt/petalinux/,解压和安装都在opt目录下:
opt

到这里总结一下,解压后的文件中内核Image和根文件系统rootfs.ext4以及sdk.sh生成的sysroots的路径 都需要写入makefile相应的位置,下面摘取一个makefile中的部分 :这里很重要后面实验用到

ifeq ($(PLATFORM), aarch64)
SYSROOT := /opt/petalinux/2022.1/sysroots/cortexa72-cortexa53-xilinx-linux/
SD_IMAGE_FILE := /opt/xilinx/platforms/xilinx-zynqmp-common-v2022.1/Image
ROOTFS_FILE := /opt/xilinx/platforms/xilinx-zynqmp-common-v2022.1/rootfs.ext4

另外ARM交叉编译环境的位置在启动环境需要执行如下source过程(后面统一讲环境变量)

source /opt/petalinux/2022.1/environment-setup-cortexa72-cortexa53-xilinx-linux

配置板级支持包

这里主要是指最终运行的目标平台,我们实验室使用的是zcu102开发板,我们需要把这个支持包加入环境变量中,其他硬件平台如果vitis不包含需要到官网进行下载。
vitis2022以上版本不需要单独下载安装,默认位置为Xilinx/Vitis/2022.1/base_platforms

export PLATFORM_REPO_PATHS=$PLATFORM_REPO_PATHS:/tools/Xilinx/Vitis/2022.1/base_platforms/xilinx_zcu102_base_dfx_202210_1

总结及环境检查

我们在xilinx官网下载了两个文件①vitis开发环境②嵌入式平台镜像(含交叉编译器;用下载的文件在ubuntu系统下安装了vitis开发环境(vitis vivado vitisHLS) ;解压嵌入式平台镜像到指定位置,并安装交叉编译器;其安装位置为:

vitis->/tools/Xilinx/
armgcc->/opt/petalinux
platforms->/opt/xilinx/platforms

分别配置vitis软件环境,arm交叉编译环境,和zcu102开发板platform包(这三条命令每次打开新的terminal都需要重新调用) 我们也可以将这三条写成一个.sh脚本方便调用,如果环境不变的话也可以加入.bashrc永久设置。

source /tools/Xilinx/Vitis/2022.1/settings64.sh

source /opt/petalinux/2022.1/environment-setup-cortexa72-cortexa53-xilinx-linux

export PLATFORM_REPO_PATHS=$PLATFORM_REPO_PATHS:/tools/Xilinx/Vitis/2022.1/base_platforms/xilinx_zcu102_base_dfx_202210_1

接下来检查环境是否配置成功:
Vitis工具:

v++ -v

vitis
Platforminfo:

platforminfo --list

智能计算系统课程-01环境配置_第1张图片
交叉编译环境:

echo $CXX

jgcc
以上,环境配置成功。

下一节开始讲在配置好的环境中进行编译的过程,其中特别注意老师给的makefile需要根据本节的安装路径进行改动。

你可能感兴趣的:(ubuntu,linux)