- 软件准备
要在windows环境中,运行USRP的FPGA程序,需要安装cygwin以及必须的vivado软件。我使用的是VIVADO2021.1版本以及对应的补丁
可参考ettus提供的官方版本说明文档:USRP Hardware Driver and USRP Manual: Generation 3 USRP Build Documentation (ettus.com)
- cygwin安装
FPGA代码的运行环境是在linux中执行的,为了在windows中运行,需要安装cygwin软件来模拟linux的运行环境。cygwin的安装也可以在上面链接的文档中找到。
cygwin基本项的安装可以参考:Cygwin安装教程_cygwin使用教程-CSDN博客
特别是把基本需要的安装插件安装了。另外在ettus的安装说明中还需要安装一些额外的:
以及下面的7个插件。
- 工程启动
按照步骤安装完成后,打开cygwin,先通过cd + 路径 命令,将路径修改到包含 setupenv.sh的文件夹下。
PS:不知道什么原因,我的setupenv.sh的命令直接运行不了,我是打开setupenv.sh 这个文件,一句一句执行就可以。
如果要一句一句的执行,若VIVADO的安装不是在默认的C盘安装路径,那还需要在tools->scripts中打开setupenv_base.sh这个文件,将VIVADO的调用路径改为自己的安装路径。再运行上面的setupenv.sh的命令。
完成VIVADO初始化后,可以通过运行vivado -version命令查看vivado的版本调用是否正常。
Make help命令,查看make支持的版本。这样就可以运行FPGA的程序了。
遇到的问题:
调试的时候中间遇到很多的坑,希望对后面的朋友有所帮助。
问题1:找不到VIVADO工程
解决:1. 修改setupenv_base.sh中VIVADO的启动路径,2. 在环境变量的PATH中增加cygwin与VIVADO的路径。也可以把XILINX的环境变量再指定一次。
问题2:cygwin安装提示,这个问题还没有解决,不过目前来看不影响使用
问题3:提示文件深度太长
解决:尽量将文件放到根目录下,减少深度。
问题4:IP core locked,在运行某些IP时,提示IP locked进而出错。
解决:这是由于脚本文件只能编辑和他版本对应的文件,如果版本不对应它是不会upgrade的,然后就提示出错了。所以需要我们新建一个VIVADO工程,添加IP,如果看到下面这种有锁的IP,手动生成一下,再复制到他原始的IP路径下,更新里面的xci文件。再运行就不会错了。
现在代码正在跑,若有必要后续再更新。