目录
所需环境与硬件准备
进行烧录
方法一:使用官方提供的bit文件,而不用自己编译。
第一步 找到 Using binaries provided by Ettus Research 部分,点击以下链接,下载最新的bit文件。
第二步 打开终端安装UHD的支持包,输入以下命令
第三步 下载镜像文件
第四步 进行镜像文件烧录
方法二:GitHub下载源码并编译UHD。
第一步 安装git(若已安装可以忽略该步)
第二步 获取源码
第三步 安装依赖
第四步 编译
第五步 下载镜像
第六步 进行镜像烧录
1、Linux环境搭建
https://blog.csdn.net/u010080562/article/details/120246284
执行 apt-get update 确保系统处于最新版本。
输入 python3 --version 查看当前python版本
若没有安装python,参照以下链接进行安装:
https://www.ydyno.com/archives/1426.html
2、硬件设备
USRP X310设备、七类网线一根(六类也可以)、千兆及以上有线网络接口(台式机网卡或笔记本网络接口)。
官方参考网址:
https://files.ettus.com/manual/page_usrp_x3x0.html
执行su root,然后输入root用户密码登录root用户,确保当前环境的root权限
打开以上官网链接,选择左侧目录中的“Binary Installation”章节,展开并找到“Installation on Linux”部分,按照此部分的步骤执行。
http://files.ettus.com/binaries/uhd_stable/latest_release/
点击 4.2.0.0/ 目录,选择其中的.tar.gz(可以点击下载看一下,此处的不同文件对应不同的压缩格式)并下载。
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 部分,如下图所示.
按照上图的官方教程,默认执行以下命令进行烧录
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的烧录工作,如果最后一步烧录代码输入之后没有反应,说明前面有步骤是错的,需要核查,烧录过程会有进度提示,因此可以判断是否成功,具体可见方法二的烧录成功界面.
安装UHD的过程可能会失败,并出现各种乱七八糟的问题,因此下面给出从GitHub下载和编译UHD的过程.
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
此时,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
ping通之后,可以输入以下查找USRP设备的指令
sudo uhd_find_devices
以下指令用来查看设备信息
sudo uhd_usrp_probe
执行以下代码镜像下载.
sudo uhd_images_downloader
镜像下载成功会有以下提示,如果下载有错误,可以再次执行,进行尝试.
参考官网的说明,执行镜像下载命令之后,等同于运行uhd_images_downloader.py,会在 "安装路径"/share/uhd/images路径下保存bit文件.
以下是我的生成bit文件路径: /usr/local/share/uhd/images
以上步骤参考链接:
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"
输入镜像下载命令之后,会出现以下的界面:
等待 "Loading HG FPGA image" 进度百分比完成,就完成了烧录!
再次查看设备信息
sudo uhd_find_devices
sudo uhd_usrp_probe
如果设备的UHD信息更新了,那么就说明烧录成功了.
完结!