USRP X310使用的准备工作--Linux进行FPGA image烧录

目录

所需环境与硬件准备

进行烧录

方法一:使用官方提供的bit文件,而不用自己编译。

 第一步 找到 Using binaries provided by Ettus Research  部分,点击以下链接,下载最新的bit文件。

第二步 打开终端安装UHD的支持包,输入以下命令  

第三步 下载镜像文件

第四步 进行镜像文件烧录

方法二:GitHub下载源码并编译UHD。

第一步 安装git(若已安装可以忽略该步)

第二步 获取源码

第三步 安装依赖

第四步 编译

第五步 下载镜像

第六步 进行镜像烧录

所需环境与硬件准备

1、Linux环境搭建

  • 一台装有Linux系统的电脑,这里采用的是Debian 11,安装教程参考这里:

https://blog.csdn.net/u010080562/article/details/120246284

执行 apt-get update 确保系统处于最新版本。

  • 确保已经安装python3:

输入 python3 --version 查看当前python版本

若没有安装python,参照以下链接进行安装:

https://www.ydyno.com/archives/1426.html

2、硬件设备

USRP X310设备、七类网线一根(六类也可以)、千兆及以上有线网络接口(台式机网卡或笔记本网络接口)。

进行烧录

方法一:使用官方提供的bit文件,而不用自己编译。

官方参考网址:

https://files.ettus.com/manual/page_usrp_x3x0.html

执行su root,然后输入root用户密码登录root用户,确保当前环境的root权限

打开以上官网链接,选择左侧目录中的“Binary Installation”章节,展开并找到“Installation on Linux”部分,按照此部分的步骤执行。

 第一步 找到 Using binaries provided by Ettus Research  部分,点击以下链接,下载最新的bit文件。

http://files.ettus.com/binaries/uhd_stable/latest_release/

USRP X310使用的准备工作--Linux进行FPGA image烧录_第1张图片

点击 4.2.0.0/ 目录,选择其中的.tar.gz(可以点击下载看一下,此处的不同文件对应不同的压缩格式)并下载。

USRP X310使用的准备工作--Linux进行FPGA image烧录_第2张图片

第二步 打开终端安装UHD的支持包,输入以下命令  

sudo add-apt-repository ppa:ettusresearch/uhd

sudo apt-get update

sudo apt-get install libuhd-dev libuhd4.1.0 uhd-host

注意:需要确保上述命令运行完成之后没有报错,尤其是第三条安装UHD的命令,如果报错,说明UHD安装失败,则不能进行后续的操作,需要根据对应的错误来排除,保证UHD安装成功.

第三步 下载镜像文件

解压第一步下载好的压缩文件,打开文件夹下的目录/host/utils,例如,我的是: /home/gxy/Downloads/uhd_4.2.0.0-release/host/utils , 找到

uhd_images_downloader.py 文件

使用python3运行,即可下载USRP的镜像bit,然后进行镜像的烧录.

运行该文件之后,下载的各种型号USRP镜像会存到默认的目录下:

"安装路径"/share/uhd/images   (默认目录的示例位置可以参见第二种方法的对应部分)

需要进行检查,如果没有在对应目录产生镜像文件,那么就不能进行后续的烧录步骤,需要寻找问题,直到下载到镜像文件.

第四步 进行镜像文件烧录

烧录方法参考官网: https://files.ettus.com/manual/page_usrp_x3x0.html

选择左侧的 USRP x3x0 Series ,找到 Updating the FPGA 部分,如下图所示.

USRP X310使用的准备工作--Linux进行FPGA image烧录_第3张图片

 按照上图的官方教程,默认执行以下命令进行烧录

uhd_image_loader --args="type=x300,addr=192.168.10.2,fpga=HG"

如果镜像文件不在默认目录,需要按照官网的方法,添加文件目录,进行烧录.

 uhd_image_loader --args="type=x300,addr=192.168.10.2" --fpga-path="/usrp_x310_fpga_HG.bit"

如果顺利,那么就已经完成了FPGA的烧录工作,如果最后一步烧录代码输入之后没有反应,说明前面有步骤是错的,需要核查,烧录过程会有进度提示,因此可以判断是否成功,具体可见方法二的烧录成功界面. 

方法二:GitHub下载源码并编译UHD。

安装UHD的过程可能会失败,并出现各种乱七八糟的问题,因此下面给出从GitHub下载和编译UHD的过程.

第一步 安装git(若已安装可以忽略该步)

sudo apt install git

第二步 获取源码

git clone https://github.com/EttusResearch/uhd   

cd uhd    

第三步 安装依赖

sudo apt-get install libboost-all-dev libusb-1.0-0-dev python-cheetah doxygen python-docutils g++ cmake python-setuptools python-mako

注意:如果没有安装python2,只有python3 ,那么需要将上述代码中的python改为python3

第四步 编译

一行一行的执行以下命令,make -j8命令是编译命令,运行时间较长,需要等待.

cd uhd/host/   

mkdir build   

cd build   

cmake ../   

make -j8  

make test   

sudo make install   

sudo ldconfig

 make test执行完成之后,可以看到100%测试通过,如下图所示,说明编译成功.

完成编译之后,会在 "安装路径"/lib/uhd/utils 路径下生成以下文件,其中包含了用于下载镜像文件的uhd_images_downloader.py,我的路径是 /usr/local/lib/uhd/utils

USRP X310使用的准备工作--Linux进行FPGA image烧录_第4张图片

此时,UHD就编译完成并可用了,可以使用UHD指令查看USRP烧录之前的UHD版本.

注意:查看设备信息之前,需要将设备使用网线连接到主机,并设置主机的IP地址,设备地址默认为192.168.10.2,那么可以配置有线网:

主机IP:192.168.10.10,网关:192.168.10.1,子网掩码:255.255.255.0

其他不需要设置,然后ping一下192.168.10.2,如果通了,就说明设备连接成功,可以执行后面的查找设备命令.

ping 192.168.10.2

USRP X310使用的准备工作--Linux进行FPGA image烧录_第5张图片

 ping通之后,可以输入以下查找USRP设备的指令   

sudo uhd_find_devices

以下指令用来查看设备信息    

sudo uhd_usrp_probe

第五步 下载镜像

执行以下代码镜像下载.

sudo uhd_images_downloader

镜像下载成功会有以下提示,如果下载有错误,可以再次执行,进行尝试. 

USRP X310使用的准备工作--Linux进行FPGA image烧录_第6张图片

参考官网的说明,执行镜像下载命令之后,等同于运行uhd_images_downloader.py,会在 "安装路径"/share/uhd/images路径下保存bit文件.

USRP X310使用的准备工作--Linux进行FPGA image烧录_第7张图片

以下是我的生成bit文件路径: /usr/local/share/uhd/images

USRP X310使用的准备工作--Linux进行FPGA image烧录_第8张图片

  以上步骤参考链接:

https://www.cnblogs.com/jsdy/p/12089987.html

第六步 进行镜像烧录

如果下载的镜像文件在默认的 /usr/local/share/uhd/images 路径下(在烧录之前要到该路径下进行确认,确保找到X310对应的HG版本的bit文件),那么可以直接执行以下烧录程序(该命令仅针对USRP X310)

uhd_image_loader --args="type=x300,addr=192.168.10.2,fpga=HG"

如果镜像下载不是默认路径,那么需要手动添加镜像的路径,即使用以下命令:

uhd_image_loader --args="type=x300,addr=192.168.10.2" --fpga-path="/usrp_x310_fpga_HG.bit"

输入镜像下载命令之后,会出现以下的界面: 

USRP X310使用的准备工作--Linux进行FPGA image烧录_第9张图片

等待 "Loading HG FPGA image" 进度百分比完成,就完成了烧录!

再次查看设备信息   

sudo uhd_find_devices

sudo uhd_usrp_probe

如果设备的UHD信息更新了,那么就说明烧录成功了.

USRP X310使用的准备工作--Linux进行FPGA image烧录_第10张图片

 完结!

你可能感兴趣的:(USRP,硬件工程)