2. 开发环境搭建:Vivado安装与配置、SDK/Vitis安装、驱动开发工具链介绍、JTAG调试器连接
说实话,很多初学者一上来就急着写代码,结果卡在环境搭建上,一卡就是好几天。我见过太多人拿着报错截图到处问,最后发现是路径带中文、或者驱动没装对。
这一章,咱们就把这些基础工作做扎实。环境搭好了,后面才能跑得顺。
2.1 Vivado 安装与配置
Vivado 是 Xilinx 的统一设计套件。你写驱动、配硬件、做调试,都离不开它。
版本选择建议:我个人习惯用 LTS 版本,比如 2020.2 或 2022.2。新版本功能多,但坑也多。做产品开发,稳定第一。
安装步骤
- 下载安装包:从 Xilinx 官网下载 Vivado HLx 版本。注意区分 Windows 和 Linux 版本。
- 运行安装程序:建议以管理员身份运行。安装路径不要有中文,不要有空格。
- 选择组件:至少勾选以下内容:
- Vivado HL Design Edition
- Zynq-7000 器件支持
- SDK(2019.2 及之前版本)或 Vitis(2020.1 及之后版本)
- 安装 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 那么简单。下面这张图能帮你理清关系。
说白了,整个工具链就是:Vivado 做硬件 → XSA 做桥梁 → Vitis 写代码 → 交叉编译器生成目标文件 → JTAG 烧录调试。
小技巧:调试驱动时,我习惯同时开着 XSCT 命令行和 Vitis 的 Debug 视图。XSCT 用来快速读写寄存器,Vitis 用来单步跟踪代码。两个配合,效率翻倍。
2.4 JTAG 调试器连接
JTAG 是调试的命脉。没有它,你写的驱动就是盲人摸象。
常见调试器
- Xilinx Platform Cable USB II:官方调试器,稳定但贵。
- Digilent JTAG-HS3:性价比高,我一直在用。
- FTDI 调试器:便宜,但需要自己接线,适合有经验的开发者。
连接步骤
- 硬件连接:调试器的 JTAG 接口连接到 Zynq 开发板的 JTAG 插座。注意方向,一般有防呆设计。
- 上电顺序:先接调试器 USB 到电脑,再给开发板上电。反过来可能会识别不到。
- 驱动检查:在设备管理器里查看是否识别到 Xilinx USB Cable。如果显示黄色感叹号,重新安装 Cable Drivers。
- 验证连接:打开 Vivado,点击 Open Hardware Manager,点击 Auto Connect。如果能识别到器件,说明连接成功。
我曾经踩过的坑:有一次怎么都连不上,折腾了半天,最后发现是 JTAG 线松了。嗯,这种低级错误,犯过一次就不会再犯了。
常见问题排查
| 现象 | 可能原因 | 解决方法 |
|---|---|---|
| 识别不到调试器 | 驱动未安装或安装错误 | 重新运行 install_drivers.exe |
| 能识别调试器,但连不上器件 | JTAG 时钟频率太高 | 在 Vivado 中降低 JTAG 频率到 6MHz 以下 |
| 连接不稳定,经常断开 | USB 线质量差或供电不足 | 换一根带屏蔽的 USB 线,不要用延长线 |
| 多个调试器冲突 | 电脑上插了多个 Xilinx 设备 | 只保留一个调试器,或者指定 Cable 序号 |
环境搭建这部分,看起来琐碎,但真的很重要。我见过太多人因为 JTAG 连不上,直接放弃了 Zynq 开发。其实只要按步骤来,没那么复杂。
好了,工具都装好了,线也连上了。下一步,咱们就可以真正开始写驱动了。