Vitis的使用

1.Vitis概述

Vitis是Xilinx SDK的继任者,从Vivado 2019.2开始启用。

sdk是vivado的附属,而vitis地位和vivado相同,一个负责软件,一个负责硬件。vitis的地位提高了。

1.1.术语

hdf: Hardware Description File,Vivado 2019.1及更早版本导出的硬件描述文件,给xilinx sdk使用。

xsa: Xilinx Shell Archive,Vivado 2019.2及后续版本导出的硬件文件,.xsa=.bit+hdf.

1.2.vitis的组成

Vitis中有5个概念,如下图所示,分别是:

1)Platform(平台):一个platform对应一个硬件平台(由电路板和预编译的IO组成)。

2)Domain(域):就是板级支持包BSP,或操作系统OS,控制一个或多个同构的处理器。最常用的“xparameters.h”就在BSP/Domain中。BSP/Domain中主要是硬件的驱动程序和驱动头文件。

3)Application(应用):应用程序,运行在平台(硬件)的域(BSP)上,主要是用里面的.h文件。

4)System Project(系统工程):系统工程是个容器,里面包含1个或多个Application。

5)Workspace(工作空间):是个容器,里面可以包含任意多个Platform和System Project。


Vitis的结构


2.vitis和xilinx SDK的异同

从Vivado 2019.2开始,对应的软件开发环境从SDK变成了Vitis.

2019.1及之前版本,SDK是Vivado的一个附属组件,可以从Vivado启动SDK。

从2019.2开始,vitis不能从vivado启动,必须单独启动。地位和vivado齐平了,不在是一个附件。

vitis和sdk概念的对应关系如下:

vitis[sdk]:xsa-[bit+hdf],domain-[bsp],platform-[platform],platform.spr[system.mss].

vitis可以自动生成fsbl工程。

从vivado中导出最新的hardware


导出Platform平台类型


包含bitstream


导出xsa文件
通过.xsa文件更新hardware(一定要手动更新)


指定.xsa的位置


Vitis编译时Debug和Release的切换

注意事项:

制作BOOT.bin时需要使用Release版本的elf文件;

用Vitis烧写QSPI FLash时的2个要点:

1)需要额外制作一个jtage_fsbl(额外创建一个Application,并且domain中使能xilffs模块),详见“8. Xilinx sdk调试&烧写”。

2)Vitis烧写QSPI Flash时,板卡上的BootMode要选择JTAG模式(或SD卡模式,嗯,很奇怪)。


Z7035: Vitis在启动模式是QSPI时下载QSPI失败,推荐用JTAG模式下载


Z7035: Vitis在启动模式是SD时下载QSPI Flash失败,推荐用JTAG模式下载

目前我们用的Zynq板卡未画JTAG模式的电路,因此只能能用SD模式下载。


ZynqUltrascale的配置模式选择(FlashType:qspi-x8-dual_parallel)


ZynqUltrascale的配置(FlashType:qspi-x8-dual_parallel)


qspi-x8-dual_parallel

下载时,选择qspi-x8-dual_parallel.

qspi-x8-dual_parallel

从Vivado更新Vitis的platform

1)从Vivado导出Hardware(.xsa)文件。

2)右键platform工程,选择“Update hardware Specification”,从弹出的对话框中选择上面生成的.xsa文件。

3)重新编译处于“Out-of-date”状态的platform工程。

4)重新编译app工程。


更新platform的硬件


重新编译Out-of-data的platform工程


重新编译app

参考:

[1].Vitis软件平台、vitis实例、裸机SOC(SDK)程序移植

[2].[视频]Xilinx VITIS开发流程说明

[3].Vitis尝鲜(二)

[4].使用Vitis固化程序

[5].65463 - Zynq UltraScale+ MPSoC - What devices are supported for configuration?

你可能感兴趣的:(Vitis的使用)