Centos 7安装UHD
工具
-
操作系统: CentOS 7
-
USRP设备: ettus的 USRP n200_r4
安装准备
安装步骤是在设置好网段的情况下进行的
- 首先,将USRP设备与pc通过网线直连
- 将pc的ip地址设置成192.168.10.1,子网掩码设置为255.255.255.0
完成以上步骤,执行如下指令
ping 192.168.10.2 # 其中192.168.10.2为USRP设备默认的ip
如果可以ping通便可以执行安装过程。
具体操作
-
安装更新依赖,操作指令如下:
sudo yum -y install boost-devel libusb1-devel python-mako doxygen python-docutils cmake make gcc gcc-c++
-
使用git指令下载UHD源码,指令如下:
git clone git://github.com/EttusResearch/uhd.git
如果想要下载带有FPGA的源码,git指令如下:
git clone --recursive git://github.com/EttusResearch/uhd.git
这个指令可以下载源码中的
fpga-src
模块,也可以通过如下命令行实现:git submodule init git submodule update
-
下载完成后,检索出所需要的UHD版本,首先进入下载的uhd目录中,然后列出所有可以使用UHD版本号
cd uhd # 进入下载的UHD目录 git tag -l # 列出所有可供使用的版本号
指令执行结果如下:
$ git tag -l ... release_003_009_004 release_003_009_005 release_003_010_000_000
实验中所需要版本号为
release_003_010_000_000
,操作如下:git checkout release_003_010_000_000
-
接下来就是安装过程,全部的流程如下:
cd uhd/host # 进入下载的uhd源码的host文件夹中 mkdir build # 创建build文件夹 cd build cmake ../ # 生成Makefiles make # build and install make test sudo make install sudo ldconfig # 设置library path
到此,安装过程已经完成,但是并不能直接执行
uhd_find_devices
与两条指令,需要将LD_LIBRARY_PATH
存放到环境变量中,否则执行以下指令会报错,错误提示libuhd.so.003
文件找不到。将以下内容添加到
$HOME/.bashrc
文件中:export LD_LIBRARY_PATH=/usr/local/lib64
注意:这里是
lib64
,如果是ubuntu中就是lib
,如果环境变量中已经有LD_LIBRARY_PATH
,那么将如下内容添加到$HOME/.bashrc
文件中:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib64
执行一下步骤,让新设置的环境变量生效:
source $HOME/.bashrc
完成以上步骤之后,关闭 terminal 窗口,重新打开,执行
uhd_find_devices
会出现如下提示:linux; GNU C++ version 4.8.4; Boost_105400; UHD_003.010.000.HEAD-0-g6e1ac3fc No UHD Devices Found
表明安装成功,接下来就是下载UHD镜像,指令如下:
uhd_images_downloader usrp_n2xx_simple_net_burner --addr="192.168.10.2" # 如果执行这一步报错libuhd.so.003文件找不到,就是上一步环境变量没有设置好
-
以上步骤为整个完整的安装步骤,执行如下指令查看连接设备信息:
uhd_usrp_probe
如果以上指令执行返回找不到设备,通过给定ip地址查找设备,指令如下:
uhd_usrp_probe --args="addr=192.168.10.2"
以上便是整个安装过程,由于ettus官网的UHD安装教程只是针对各个版本的Ubuntu以及Fedora,并没有针对CentOS的,所以这里参考着官网Fedora 21的安装教程进行摸索的,仅供参考。安装过程中如遇其他问题,请参考官网
官网链接:Ettus官网UHD安装教程