第二章:开发环境搭建——Vitis安装与配置、XRT安装、平台文件获取与验证

好,咱们正式开始动手了。这一章,我带你把开发环境从头到尾捋一遍。很多新手朋友卡在第一步,不是装错了版本,就是漏了某个驱动,折腾一整天连个灯都点不亮。别急,跟着我的节奏来,半小时搞定。

2.1 Vitis统一软件平台安装

Vitis,说白了就是Xilinx的“全家桶”。它把原来的SDK、SDAccel、Vivado HLS全揉在了一起。我个人习惯,每年只装最新的两个版本,比如2023.2和2024.1。太老的版本,库和驱动都跟不上,容易踩坑。

核心要点:Vitis安装包自带Vivado,你不需要单独装Vivado。但如果你要做硬件平台修改,那就得装“Vivado + Vitis”全功能版。

安装步骤其实不复杂,我列个清单:

  1. 下载安装包:去Xilinx官网下载“Vitis Unified Software Platform”。注意,文件很大,大概30GB+。我建议用下载工具,别用浏览器自带的,容易断。
  2. 运行安装程序:双击xsetup.exe,选择“Vitis”组件。这里有个坑——记得勾选“Xilinx Runtime (XRT)”,很多人漏了这一步,后面跑应用时找不到库。
  3. 选择安装目录:路径不要有中文,不要有空格。我习惯装在C:\Xilinx\Vitis\2024.1,简单明了。
  4. 等待安装:去喝杯咖啡吧,大概40分钟到1小时。

注意:安装过程中会提示安装“Cable Drivers”,一定要装!否则你的JTAG下载器连不上板子。我曾经有一次重装系统后忘了装这个驱动,折腾了俩小时才发现是驱动问题。

2.2 Xilinx Runtime (XRT) 安装

XRT是什么?它是Vitis平台和硬件之间的“翻译官”。你的应用代码通过XRT调用FPGA上的加速器。没有XRT,你的程序就是个哑巴。

XRT的安装分两种情况:

场景 安装方式 说明
Windows开发环境 Vitis安装包自带 安装Vitis时勾选XRT即可
Linux运行环境 单独安装XRT包 从Xilinx官网下载对应版本的XRT .deb或.rpm包

在Linux上安装XRT,我常用的命令是:

# 对于Ubuntu系统
sudo apt install ./xrt_202410.2.12.0_22.04-amd64-xrt.deb

# 验证安装是否成功
xbutil examine

运行xbutil examine后,如果能看到你的FPGA设备信息,那就说明XRT装好了。嗯,这里要注意:XRT的版本必须和Vitis版本匹配,否则会报“library version mismatch”的错误。我遇到过好几次,都是因为升级了Vitis忘了升级XRT。

2.3 平台文件获取与验证

平台文件,就是你的FPGA板子的“身份证”。它包含两个核心文件:

  • XSA文件:硬件描述文件,包含PS(处理器系统)配置、DDR信息、时钟频率等。
  • Platform文件:软件平台描述,包含操作系统、驱动、设备树等。

获取平台文件有三种途径:

  1. 官方提供:Xilinx官方板卡(如ZCU102、VCK190)的Platform文件可以直接从官网下载。
  2. 自己生成:用Vivado导出XSA,再用Vitis创建Platform。这个流程我后面会详细讲。
  3. 第三方板卡:比如米联客、黑金等开发板,一般会随板子提供Platform文件。

我的经验:拿到一块新板子,第一件事就是验证Platform文件是否可用。别急着写代码,先跑一个“Hello World”测试一下。

验证Platform文件是否正常,我一般做三步检查:

# 第一步:检查XSA文件是否完整
# 用Vivado打开XSA文件,查看Block Design
vivado -source check_xsa.tcl

# 第二步:检查Platform是否注册成功
platforminfo -l

# 第三步:编译一个空工程,看能否生成xclbin
v++ -t hw --platform xilinx_zcu102_base_202410_1 -o test.xclbin test.cpp

如果这三步都通过了,恭喜你,环境搭建成功!

2.4 环境验证:跑一个最简单的例子

光说不练假把式。咱们来跑一个最简单的“Hello World”程序,验证整个工具链是否通畅。

步骤很简单:

  1. 打开Vitis,创建一个新的“Application Project”。
  2. 选择你的Platform文件(比如xilinx_zcu102_base_202410_1)。
  3. 选择“Empty Application”模板。
  4. 在src目录下新建一个main.c,写入:
#include <stdio.h>
#include <xrt/xrt_device.h>

int main() {
    printf("Hello from Vitis Platform!\n");
    
    // 获取设备信息
    xrtDeviceHandle device = xrtDeviceOpen(0);
    if (device == NULL) {
        printf("Failed to open device\n");
        return -1;
    }
    
    printf("Device opened successfully\n");
    xrtDeviceClose(device);
    return 0;
}
  1. 编译并运行。如果控制台打印出“Hello from Vitis Platform!”和“Device opened successfully”,那就说明整个环境搭建成功了。

避坑指南:我曾经在运行这个例子时,卡在“Failed to open device”上。查了半天,发现是XRT服务没启动。运行sudo xbutil reset重置一下设备就好了。

2.5 知识体系总览

为了让你对整个环境搭建有个全局认识,我画了一张图:

Vitis平台开发环境搭建知识体系 Vitis安装与配置 XRT安装 平台文件获取与验证 选择版本 & 勾选组件 安装Cable Drivers Linux/Win安装方式 版本匹配检查 XSA + Platform文件 三步验证法 ✅ 环境搭建成功,可以上板调试

这张图把整个环境搭建的脉络理清楚了。你照着这个流程走,基本不会出大问题。

好了,环境搭建就讲到这里。记住,工具链装好了只是第一步,真正的好戏还在后面。下一章,咱们开始写第一个Vitis加速应用。

最后提醒一句:如果你在安装过程中遇到任何问题,别硬扛。去Xilinx论坛搜一下,或者直接问社区。我当年就是靠论坛活下来的。

可可精品资料库