Ubuntu 18.04安装UHD教程
准备阶段
- 首先将Ubuntu的下载源给替换了,默认的下载源是国外的,如果不替换更新下载速度特别慢,并且会导致后边的步骤出现各种错误,所以这一步很重要。具体操作是将
/etc/apt
中的source.list
中的内容全部清除,用以下内容替换即可,这里使用的是阿里云的下载源,如下:deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
- 在下载安装UHD之前需要下载依赖包并更新系统原有的依赖包,两步操作如下:
sudo apt-get update
如果不执行第一步中的换源操作,这一步会非常耗时,并报错。sudo apt-get -y install git swig cmake doxygen build-essential libboost-all-dev libtool libusb-1.0-0 libusb-1.0-0-dev libudev-dev libncurses5-dev libfftw3-bin libfftw3-dev libfftw3-doc libcppunit-1.14-0 libcppunit-dev libcppunit-doc ncurses-bin cpufrequtils python-numpy python-numpy-doc python-numpy-dbg python-scipy python-docutils qt4-bin-dbg qt4-default qt4-doc libqt4-dev libqt4-dev-bin python-qt4 python-qt4-dbg python-qt4-dev python-qt4-doc python-qt4-doc libqwt6abi1 libfftw3-bin libfftw3-dev libfftw3-doc ncurses-bin libncurses5 libncurses5-dev libncurses5-dbg libfontconfig1-dev libxrender-dev libpulse-dev swig g++ automake autoconf libtool python-dev libfftw3-dev libcppunit-dev libboost-all-dev libusb-dev libusb-1.0-0-dev fort77 libsdl1.2-dev python-wxgtk3.0 git libqt4-dev python-numpy ccache python-opengl libgsl-dev python-cheetah python-mako python-lxml doxygen qt4-default qt4-dev-tools libusb-1.0-0-dev libqwtplot3d-qt5-dev pyqt4-dev-tools python-qwt5-qt4 cmake git wget libxi-dev gtk2-engines-pixbuf r-base-dev python-tk liborc-0.4-0 liborc-0.4-dev libasound2-dev python-gtk2 libzmq3-dev libzmq5 python-requests python-sphinx libcomedi-dev python-zmq libqwt-dev libqwt6abi1 python-six libgps-dev libgps23 gpsd gpsd-clients python-gps python-setuptools
安装阶段
这一阶段直接按照命令行执行即可,当然非常费时,如下:
cd $HOME
mkdir workarea
cd workarea
# 这步用时比较长,可以通过添加github的网址映射解决,具体操作自行百度
git clone https://github.com/EttusResearch/uhd
cd uhd
接下来,检查所需的UHD版本。通过以下命令行可以查看所有的版本列表:
git tag -l
执行之后的输出结果大致如下:
$ git tag -l
...
release_003_009_004
release_003_009_005
release_003_010_000_000
注意:其中每个版本将遵循的格式:Major.API.ABI.Patch
,确定所需的版本对应的缩写,之后直接checkout
,如下:
# 实例1: UHD 3.9.5:
git checkout release_003_009_005
# 实例2: UHD 3.14.0.0
git checkout v3.14.0.0
之后就是一系列的等待执行过程,如下:
cd host
mkdir build
cd build
cmake ../
make
make test # 这里是确保Build过程完全正确
sudo make install
sudo ldconfig
最后,确保LD_LIBRARY_PATH
定义为环境变量。最常见的是,将以下行添加到$HOME/.bashrc
文件中:
export LD_LIBRARY_PATH=/usr/local/lib
至此,安装过程结束
测试
- 为了让上述步骤能够生效,需要重启终端,再继续执行下边的指令:
- 首先,通过执行设备发现指令,确保安装过程没有出现错误,并且UHD可以正常使用,执行如下:
因为还没有连接USRP设备,所以,此时的执行结果大致如下,uhd_find_devices
linux; GNU C++ version 4.8.4; Boost_105400; UHD_003.010.000.HEAD-0-g6e1ac3fc No UHD Devices Found
- 接下来就可以下载UHD FPGA镜像,指令如下:
sudo uhd_images_downloader
UHD 3.13
下载结果如下:[INFO] Images destination: /usr/local/share/uhd/images [INFO] No inventory file found at /usr/local/share/uhd/images/inventory.json. Creating an empty one. 00006 kB / 00006 kB (100%) usrp1_b100_fw_default-g6bea23d.zip 19484 kB / 19484 kB (100%) x3xx_x310_fpga_default-g494ae8bb.zip 02757 kB / 02757 kB (100%) usrp2_n210_fpga_default-g6bea23d.zip 02109 kB / 02109 kB (100%) n230_n230_fpga_default-g494ae8bb.zip 00522 kB / 00522 kB (100%) usrp1_b100_fpga_default-g6bea23d.zip 00474 kB / 00474 kB (100%) b2xx_b200_fpga_default-g494ae8bb.zip 02415 kB / 02415 kB (100%) usrp2_n200_fpga_default-g6bea23d.zip 05920 kB / 05920 kB (100%) e3xx_e320_fpga_default-g494ae8bb.zip 15883 kB / 15883 kB (100%) n3xx_n310_fpga_default-g494ae8bb.zip 00506 kB / 00506 kB (100%) b2xx_b205mini_fpga_default-g494ae8bb.zip 18676 kB / 18676 kB (100%) x3xx_x300_fpga_default-g494ae8bb.zip 00017 kB / 00017 kB (100%) octoclock_octoclock_fw_default-g14000041.zip 04839 kB / 04839 kB (100%) usb_common_windrv_default-g14000041.zip 00007 kB / 00007 kB (100%) usrp2_usrp2_fw_default-g6bea23d.zip 00009 kB / 00009 kB (100%) usrp2_n200_fw_default-g6bea23d.zip 00450 kB / 00450 kB (100%) usrp2_usrp2_fpga_default-g6bea23d.zip 00142 kB / 00142 kB (100%) b2xx_common_fw_default-g3ff4186b.zip 00460 kB / 00460 kB (100%) b2xx_b200mini_fpga_default-g494ae8bb.zip 00319 kB / 00319 kB (100%) usrp1_usrp1_fpga_default-g6bea23d.zip 00009 kB / 00009 kB (100%) usrp2_n210_fw_default-g6bea23d.zip 11537 kB / 11537 kB (100%) n3xx_n300_fpga_default-g494ae8bb.zip 05349 kB / 05349 kB (100%) e3xx_e310_fpga_default-g494ae8bb.zip 00866 kB / 00866 kB (100%) b2xx_b210_fpga_default-g494ae8bb.zip [INFO] Images download complete.
UHD 3.13.3.0
下载结果如下:
这一步是相当的慢,也可以手动下载,然后解压到指定文件夹。Images destination: /usr/local/share/uhd/images Downloading images from: http://files.ettus.com/binaries/images/uhd-images_003.010.003.000-release.zip Downloading images to: /tmp/tmpm46JDg/uhd-images_003.010.003.000-release.zip 57009 kB / 57009 kB (100%) Images successfully installed to: /usr/local/share/uhd/images
到这里整个下载安装UHD的过程已经全部完成,之后就可以通过执行 uhd_find_devices
和uhd_usrp_probe
进行设备查找以及设备信息查看了。以上的步骤来源于官方教程,中间根据自己出现的问题,进行了修改,更符合实际情况,供参考。
官方链接:UHD安装的官方网址