2. 开发环境搭建(上):Windows/Linux双系统安装、Vivado开发套件安装与配置、FPGA开发板驱动安装
说实话,做RISC-V + FPGA开发,环境搭建往往是新手第一个拦路虎。我见过太多人卡在这一步,还没开始写代码就先放弃了。今天咱们就把这事彻底搞定。
2.1 为什么需要双系统?
你可能想问:Windows不香吗?为什么非要折腾Linux?
嗯,这里有个现实问题。Vivado本身在Windows上跑得挺好,但蜂鸟E203的RISC-V工具链、编译脚本、仿真环境,绝大多数都是基于Linux生态的。我刚开始做这个项目时,试过在Windows上用WSL,结果各种路径问题、权限问题、USB驱动问题,折腾了两天没跑通。后来老老实实装了双系统,半小时搞定。
核心原则:Vivado在Windows上跑,RISC-V工具链在Linux上跑。双系统是最省心的方案。
2.2 双系统安装实战
2.2.1 准备工作
先列个清单,别到时候手忙脚乱:
| 项目 | 要求 | 备注 |
|---|---|---|
| 硬盘空间 | 至少120GB空闲 | Windows 60GB + Linux 60GB |
| 内存 | 16GB以上 | Vivado很吃内存 |
| U盘 | 8GB以上 × 2 | 一个做Windows启动盘,一个做Linux启动盘 |
| CPU | 支持虚拟化 | BIOS里要开启VT-x/AMD-V |
重要提醒:操作前请备份重要数据!我曾经帮一个同事恢复过误删的分区表,那滋味不好受。
2.2.2 Windows安装步骤
如果你已经有Windows系统,可以跳过这步。但建议还是用纯净安装,避免之前残留的驱动冲突。
- 用Rufus制作Windows启动U盘
- BIOS设置U盘启动,关闭Secure Boot
- 安装时只分60GB给Windows,留出空闲空间给Linux
- 安装完成后,先别装任何软件,直接进BIOS准备装Linux
2.2.3 Ubuntu 20.04 LTS安装
我个人推荐Ubuntu 20.04 LTS。为什么不是22.04?因为Vivado 2020.x对22.04的库支持有点问题,我踩过这个坑。
- 用Rufus制作Ubuntu启动U盘(模式选DD)
- BIOS设置U盘启动,选择"Install Ubuntu"
- 分区方案我建议这样:
/boot → 1GB (ext4)
/ → 30GB (ext4)
/home → 剩余空间 (ext4)
swap → 8GB (交换分区)
小技巧:安装时选择"Something else"手动分区,把引导程序装到Linux所在硬盘的MBR,不要覆盖Windows的引导。这样开机时GRUB会自动识别双系统。
2.3 Vivado开发套件安装与配置
2.3.1 版本选择
蜂鸟E203官方推荐Vivado 2018.3或2020.1。我实测下来,2020.1最稳定。别追新版本,Vivado的版本兼容性问题够你喝一壶的。
| Vivado版本 | 蜂鸟E203兼容性 | 我的评价 |
|---|---|---|
| 2018.3 | 完全兼容 | 老版本,库文件齐全 |
| 2020.1 | 完全兼容 | 推荐,综合速度更快 |
| 2021.x | 部分兼容 | 需要打补丁,不推荐新手 |
| 2022.x+ | 不兼容 | 别试了,我试过 |
2.3.2 Windows下安装Vivado
安装包大概40GB,下载需要点耐心。我建议用迅雷下载,官网下载器太慢了。
- 双击xsetup.exe,选择"Vivado HL WebPACK"(免费版够用)
- 安装路径不要有中文和空格,我习惯用
D:\Xilinx\Vivado\2020.1 - 勾选"Design Tools"和"Devices"中的7系列(我们用的FPGA是Artix-7)
- 安装时间大约1-2小时,可以去喝杯咖啡
避坑:安装过程中如果报"Python 3.8 not found"的错误,别慌。手动安装Python 3.8.10,然后把路径加到系统环境变量里,重新运行安装程序就好。
2.3.3 配置Vivado环境
安装完成后,还需要配置一些东西:
- 添加Vivado到系统PATH
- 安装Digilent板级支持包(如果你用Nexys A7或类似板子)
- 配置许可证(WebPACK版不需要,但建议申请一个免费节点锁许可证)
# 系统环境变量添加(以Windows为例)
变量名: XILINX_VIVADO
变量值: D:\Xilinx\Vivado\2020.1
变量名: PATH
追加: %XILINX_VIVADO%\bin
2.4 FPGA开发板驱动安装
2.4.1 驱动类型
FPGA开发板的驱动主要分两类:
- JTAG驱动:用于下载bitstream和调试
- UART驱动:用于串口通信,看RISC-V的打印输出
2.4.2 安装Cable Drivers
Vivado安装包自带驱动,但有时候需要手动安装:
- 打开设备管理器,找到带黄色感叹号的设备
- 右键更新驱动,选择"浏览我的电脑"
- 路径指向
C:\Xilinx\Vivado\2020.1\data\xicom\cable_drivers\nt64\ - 选择"digilent"或"xilinx_windrv"文件夹,根据你的调试器类型
经验之谈:如果你用的是Nexys A7或Arty A7这类板子,建议去Digilent官网下载最新的Adept Runtime和Adept Utilities。Vivado自带的驱动有时候会识别不到板子。
2.4.3 验证驱动安装
驱动装好后,怎么知道成没成功?打开Vivado,在Tcl Console里输入:
open_hw_manager
connect_hw_server
get_hw_targets
如果返回了你的FPGA设备信息,恭喜你,驱动装好了。如果返回空或者报错,嗯,咱们继续排查。
2.5 环境验证:跑个Hello World
环境搭好了,总得验证一下。我习惯用Vivado自带的example project来测试:
- 打开Vivado,点击"Create Project"
- 选择"RTL Project",勾选"Do not specify sources at this time"
- 选择你的FPGA型号(比如xc7a35ticsg324-1L)
- 创建完成后,点击"Open Hardware Manager"
- 连接开发板,点击"Auto Connect"
如果能识别到设备,说明整个环境——Windows、Vivado、驱动——全部就绪。
到这里,开发环境搭建的上半场就完成了。你有了双系统,Windows上跑着Vivado,驱动也装好了。下一节我们会搞定Linux上的RISC-V工具链,到时候两边一配合,蜂鸟E203就能真正跑起来了。
2.6 本章知识结构
下面这张图帮你理清整个环境搭建的脉络:
个人建议:环境搭建别追求一步到位。先让Vivado能打开、驱动能识别,就算成功。工具链和工程配置可以慢慢调。我见过太多人想一次搞定所有,结果卡在某个细节上出不来。