2. 开发环境搭建:Vivado安装与配置、SDK/Vitis安装、驱动开发工具链介绍、JTAG调试器连接

说实话,很多初学者一上来就急着写代码,结果卡在环境搭建上,一卡就是好几天。我见过太多人拿着报错截图到处问,最后发现是路径带中文、或者驱动没装对。

这一章,咱们就把这些基础工作做扎实。环境搭好了,后面才能跑得顺。

2.1 Vivado 安装与配置

Vivado 是 Xilinx 的统一设计套件。你写驱动、配硬件、做调试,都离不开它。

版本选择建议:我个人习惯用 LTS 版本,比如 2020.2 或 2022.2。新版本功能多,但坑也多。做产品开发,稳定第一。

安装步骤

  1. 下载安装包:从 Xilinx 官网下载 Vivado HLx 版本。注意区分 Windows 和 Linux 版本。
  2. 运行安装程序:建议以管理员身份运行。安装路径不要有中文,不要有空格。
  3. 选择组件:至少勾选以下内容:
    • Vivado HL Design Edition
    • Zynq-7000 器件支持
    • SDK(2019.2 及之前版本)或 Vitis(2020.1 及之后版本)
  4. 安装 Cable Drivers:这一步很多人会忘。安装完成后,在安装目录下找到 data/xicom/cable_drivers/install_drivers.exe,运行它。
我曾经踩过的坑:安装路径带了中文,结果编译时一直报找不到文件。折腾了两天才发现是路径问题。从那以后,我所有开发工具都装在纯英文路径下。

环境变量配置

安装完成后,建议把 Vivado 的 bin 目录加到系统 PATH 里。这样你在命令行里直接敲 vivado 就能启动。

# Windows 示例
C:\Xilinx\Vivado\2022.2\bin

# Linux 示例
source /tools/Xilinx/Vivado/2022.2/settings64.sh

2.2 SDK / Vitis 安装

这里有个分水岭。2019.2 及之前版本,驱动开发用 Xilinx SDK。2020.1 之后,Xilinx 把它合并到了 Vitis 里。

特性 SDK (2019.2 及之前) Vitis (2020.1 及之后)
开发环境 基于 Eclipse 基于 Eclipse,集成 AI 编译器
驱动开发 原生支持 BSP 生成 通过 XSA 文件导入
调试器 XSDB + XSCT XSDB + XSCT(相同)
安装方式 随 Vivado 一起安装 单独安装或随 Vivado 安装

我个人建议:如果你刚开始学,直接用 Vitis 2022.2 或更新版本。虽然界面变了,但底层工具链没变,学的东西都能用。

Vitis 安装要点

  • 安装 Vitis 时,记得勾选 Vitis Core Development Kit。
  • 如果只做驱动开发,可以不装 AI 相关的组件,能省不少空间。
  • 安装完成后,运行 vitis 命令,确认能正常启动。

2.3 驱动开发工具链介绍

你想想看,写一个驱动,需要哪些工具?不只是 IDE 那么简单。下面这张图能帮你理清关系。

Zynq 驱动开发工具链全景 Vivado 硬件设计 + 比特流生成 导出 XSA 硬件描述文件 Vitis / SDK 驱动代码 + 应用开发 XSCT 命令行调试 XSDB 调试代理 GCC 交叉编译器 arm-xilinx-eabi-gcc Makefile 构建系统 Zynq-7000 SoC (PS + PL) JTAG 调试接口 💡 工作流程 1. Vivado 设计硬件 → 导出 XSA → 导入 Vitis 2. Vitis 生成 BSP → 编写驱动 → 交叉编译 → 通过 JTAG 下载调试

说白了,整个工具链就是:Vivado 做硬件 → XSA 做桥梁 → Vitis 写代码 → 交叉编译器生成目标文件 → JTAG 烧录调试。

小技巧:调试驱动时,我习惯同时开着 XSCT 命令行和 Vitis 的 Debug 视图。XSCT 用来快速读写寄存器,Vitis 用来单步跟踪代码。两个配合,效率翻倍。

2.4 JTAG 调试器连接

JTAG 是调试的命脉。没有它,你写的驱动就是盲人摸象。

常见调试器

  • Xilinx Platform Cable USB II:官方调试器,稳定但贵。
  • Digilent JTAG-HS3:性价比高,我一直在用。
  • FTDI 调试器:便宜,但需要自己接线,适合有经验的开发者。

连接步骤

  1. 硬件连接:调试器的 JTAG 接口连接到 Zynq 开发板的 JTAG 插座。注意方向,一般有防呆设计。
  2. 上电顺序:先接调试器 USB 到电脑,再给开发板上电。反过来可能会识别不到。
  3. 驱动检查:在设备管理器里查看是否识别到 Xilinx USB Cable。如果显示黄色感叹号,重新安装 Cable Drivers。
  4. 验证连接:打开 Vivado,点击 Open Hardware Manager,点击 Auto Connect。如果能识别到器件,说明连接成功。
我曾经踩过的坑:有一次怎么都连不上,折腾了半天,最后发现是 JTAG 线松了。嗯,这种低级错误,犯过一次就不会再犯了。

常见问题排查

现象 可能原因 解决方法
识别不到调试器 驱动未安装或安装错误 重新运行 install_drivers.exe
能识别调试器,但连不上器件 JTAG 时钟频率太高 在 Vivado 中降低 JTAG 频率到 6MHz 以下
连接不稳定,经常断开 USB 线质量差或供电不足 换一根带屏蔽的 USB 线,不要用延长线
多个调试器冲突 电脑上插了多个 Xilinx 设备 只保留一个调试器,或者指定 Cable 序号

环境搭建这部分,看起来琐碎,但真的很重要。我见过太多人因为 JTAG 连不上,直接放弃了 Zynq 开发。其实只要按步骤来,没那么复杂。

好了,工具都装好了,线也连上了。下一步,咱们就可以真正开始写驱动了。