ubuntu20.04安装UHD(USRP Hardware Driver) v3.15 + GNURadio v3.8.1 (20200818)

本文主要是介绍ubuntu20.04安装UHD(USRP Hardware Driver) v3.15 + GNURadio v3.8.1 (20200818),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ubuntu20.04安装UHD(USRP Hardware Driver) v3.15 + GNURadio v3.8.1 (20200818)

本文主要参考:
https://kb.ettus.com/Building_and_Installing_the_USRP_Open-Source_Toolchain_(UHD_and_GNU_Radio)_on_Linux

1 更新和安装依赖项

更新源:

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.15-0 libcppunit-dev libcppunit-doc ncurses-bin 
cpufrequtils python-numpy python-numpy-doc python-numpy-dbg python3-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

2 下载UHD代码库并编译安装

2.1 下载

新建工作目录并克隆代码

cd $HOME
mkdir workarea
cd workarea
git clone https://github.com/EttusResearch/uhd

此处遭遇下载失败,经过多番搜索和尝试,认为根本原因是由于连接速度太慢(通常不超过20k/s),解决方法是利用 gitee 码云从github导入代码库,再从 gitee 克隆到本地,1.8M/s的下载速度,完美解决。

2.2 检出标签

进入代码库路径

cd uhd

查看标签

$ git tag -l
...
release_003_009_004
release_003_009_005
release_003_010_000_000

检出v3.15.0.0版本

git checkout v3.15.0.0

2.3 编译

新建build目录,并编译

   cd hostmkdir buildcd buildcmake ../make

此处报错,提示找不到 setuptools ,于是再次安装 python3 setuptools

sudo apt-get install python3-setuptools

再次编译顺利通过。

可通过make test检查编译结果:

$ make test
Running tests...
Test project /home/zxhui/workspace/uhd/host/buildStart  1: addr_test1/50 Test  #1: addr_test ........................   Passed    0.05 secStart  2: buffer_test2/50 Test  #2: buffer_test ......................   Passed    0.03 secStart  3: byteswap_test3/50 Test  #3: byteswap_test ....................   Passed    0.01 secStart  4: cast_test4/50 Test  #4: cast_test ........................   Passed    0.01 secStart  5: chdr_test5/50 Test  #5: chdr_test ........................   Passed    0.02 secStart  6: constrained_device_args_test6/50 Test  #6: constrained_device_args_test .....   Passed    0.01 secStart  7: convert_test7/50 Test  #7: convert_test .....................   Passed    0.11 secStart  8: dict_test8/50 Test  #8: dict_test ........................   Passed    0.02 secStart  9: eeprom_utils_test9/50 Test  #9: eeprom_utils_test ................   Passed    0.01 secStart 10: error_test
10/50 Test #10: error_test .......................   Passed    0.01 secStart 11: fp_compare_delta_test
11/50 Test #11: fp_compare_delta_test ............   Passed    0.01 secStart 12: fp_compare_epsilon_test
12/50 Test #12: fp_compare_epsilon_test ..........   Passed    0.01 secStart 13: gain_group_test
13/50 Test #13: gain_group_test ..................   Passed    0.02 secStart 14: isatty_test
14/50 Test #14: isatty_test ......................   Passed    0.01 secStart 15: log_test
15/50 Test #15: log_test .........................   Passed    0.01 secStart 16: math_test
16/50 Test #16: math_test ........................   Passed    0.01 secStart 17: narrow_cast_test
17/50 Test #17: narrow_cast_test .................   Passed    0.01 secStart 18: property_test
18/50 Test #18: property_test ....................   Passed    0.02 secStart 19: ranges_test
19/50 Test #19: ranges_test ......................   Passed    0.01 secStart 20: scope_exit_test
20/50 Test #20: scope_exit_test ..................   Passed    0.01 secStart 21: sid_t_test
21/50 Test #21: sid_t_test .......................   Passed    0.01 secStart 22: sensors_test
22/50 Test #22: sensors_test .....................   Passed    0.01 secStart 23: soft_reg_test
23/50 Test #23: soft_reg_test ....................   Passed    0.01 secStart 24: sph_recv_test
24/50 Test #24: sph_recv_test ....................   Passed    0.02 secStart 25: sph_send_test
25/50 Test #25: sph_send_test ....................   Passed    0.02 secStart 26: subdev_spec_test
26/50 Test #26: subdev_spec_test .................   Passed    0.01 secStart 27: time_spec_test
27/50 Test #27: time_spec_test ...................   Passed    0.02 secStart 28: tasks_test
28/50 Test #28: tasks_test .......................   Passed    0.32 secStart 29: vrt_test
29/50 Test #29: vrt_test .........................   Passed    0.02 secStart 30: expert_test
30/50 Test #30: expert_test ......................   Passed    0.02 secStart 31: fe_conn_test
31/50 Test #31: fe_conn_test .....................   Passed    0.01 secStart 32: block_id_test
32/50 Test #32: block_id_test ....................   Passed    0.01 secStart 33: blockdef_test
33/50 Test #33: blockdef_test ....................   Passed    0.03 secStart 34: device3_test
34/50 Test #34: device3_test .....................   Passed    0.20 secStart 35: graph_search_test
35/50 Test #35: graph_search_test ................   Passed    0.02 secStart 36: node_connect_test
36/50 Test #36: node_connect_test ................   Passed    0.02 secStart 37: rate_node_test
37/50 Test #37: rate_node_test ...................   Passed    0.02 secStart 38: stream_sig_test
38/50 Test #38: stream_sig_test ..................   Passed    0.02 secStart 39: tick_node_test
39/50 Test #39: tick_node_test ...................   Passed    0.01 secStart 40: eeprom_c_test
40/50 Test #40: eeprom_c_test ....................   Passed    0.01 secStart 41: error_c_test
41/50 Test #41: error_c_test .....................   Passed    0.02 secStart 42: ranges_c_test
42/50 Test #42: ranges_c_test ....................   Passed    0.01 secStart 43: sensors_c_test
43/50 Test #43: sensors_c_test ...................   Passed    0.01 secStart 44: string_vector_c_test
44/50 Test #44: string_vector_c_test .............   Passed    0.01 secStart 45: subdev_spec_c_test
45/50 Test #45: subdev_spec_c_test ...............   Passed    0.01 secStart 46: nocscript_expr_test
46/50 Test #46: nocscript_expr_test ..............   Passed    0.02 secStart 47: nocscript_ftable_test
47/50 Test #47: nocscript_ftable_test ............   Passed    0.02 secStart 48: nocscript_parser_test
48/50 Test #48: nocscript_parser_test ............   Passed    0.02 secStart 49: config_parser_test
49/50 Test #49: config_parser_test ...............   Passed    0.02 secStart 50: paths_test
50/50 Test #50: paths_test .......................   Passed    0.01 sec100% tests passed, 0 tests failed out of 50Total Test time (real) =   1.40 sec

2.4 安装

以下是安装过程:

sudo make install
sudo ldconfig

在 $HOME/.bashrc 文件中最后一行添加环境变量

export LD_LIBRARY_PATH=/usr/local/lib

关闭终端,重启生效,此时安装完毕。

2.5 检查确认

可在没有硬件的情况下通过以下命令检查安装是否正确,若正确将得到类似结果

$ uhd_find_devices
[INFO] [UHD] linux; GNU C++ version 9.3.0; Boost_107100; UHD_3.15.0.HEAD-0-gaea0e2de
No UHD Devices Found

2.6 下载FPGA镜像文件

通过以下命令下载UHD FPGA 镜像文件

sudo uhd_images_downloader

此处报错:

[ERROR] Downloader raised an unhandled exception: HTTPConnectionPool(host='files.ettus.com', port=80): Max retries exceeded with url: /binaries/cache/x3xx/fpga-fde2a94eb/x3xx_x310_fpga_default-gfde2a94e.zip (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fa7565164c0>: Failed to establish a new connection: [Errno 110] Connection timed out'))
You can run this again with the '--verbose' flag to see more information
If the problem persists, please email the output to: support@ettus.com

待解决…

3 安装GNURadio 3.8.1

3.1 二进制安装

官网推荐直接二进制安装:

sudo add-apt-repository ppa:gnuradio/gnuradio-releases
sudo apt-get update
sudo apt-get install gnuradio

3.2 源码编译安装

如果确有需要,可以使用源码编译安装。

3.2.1 安装依赖项

对具有Python 3支持的GNU Radio v3.8.x,安装以下依赖项:

sudo apt install git cmake g++ libboost-all-dev libgmp-dev swig python3-numpy \
python3-mako python3-sphinx python3-lxml doxygen libfftw3-dev \
libsdl1.2-dev libgsl-dev libqwt-qt5-dev libqt5opengl5-dev python3-pyqt5 \
liblog4cpp5-dev libzmq3-dev python3-yaml python3-click python3-click-plugins \
python3-zmq python3-scipy python3-gi python3-gi-cairo gobject-introspection gir1.2-gtk-3.0

若要安装开发版 (GNU Radio v3.9)则还需要以下依赖项:

sudo apt install pybind11-dev python3-matplotlib

3.2.2 安装Volk

volk(vector optimized library of kernel)是矢量优化库,它可以提高在不同计算平台矢量计算的效率。

Volk项目也是GNURADIO的一个子项目,GNURADIO也依赖这个项目。

cd ~/
git clone https://github.com/gnuradio/volk.git
cd volk
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=/usr/bin/python3 ../
make
make test
sudo make install
sudo ldconfig

3.2.3 安装 GNU Radio

cd
git clone https://github.com/gnuradio/gnuradio.git
cd gnuradio
git submodule update --init --recursive
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=/usr/bin/python3 ../
make

下载速度太慢的话可以从gitee下载,用以下地址替代 github 克隆地址:
https://gitee.com/crown_zxh/gnuradio.git

检查编译结果并安装:

make test
sudo make install

3.2.4 配置连接库环境变量

添加如下环境变量到 $HOME/.bashrc 文件的最末行

export PYTHONPATH=/usr/local/lib/python3/dist-packages:/usr/local/lib/python3/site-packages

3.3 安装完毕

关闭终端重新打开,输入

gnuradio-companion

开启你的新旅程吧!

这篇关于ubuntu20.04安装UHD(USRP Hardware Driver) v3.15 + GNURadio v3.8.1 (20200818)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1003919

相关文章

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

Centos7安装JDK1.8保姆版

工欲善其事,必先利其器。这句话同样适用于学习Java编程。在开始Java的学习旅程之前,我们必须首先配置好适合的开发环境。 通过事先准备好这些工具和配置,我们可以避免在学习过程中遇到因环境问题导致的代码异常或错误。一个稳定、高效的开发环境能够让我们更加专注于代码的学习和编写,提升学习效率,减少不必要的困扰和挫折感。因此,在学习Java之初,投入一些时间和精力来配置好开发环境是非常值得的。这将为我

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

衡石分析平台使用手册-单机安装及启动

单机安装及启动​ 本文讲述如何在单机环境下进行 HENGSHI SENSE 安装的操作过程。 在安装前请确认网络环境,如果是隔离环境,无法连接互联网时,请先按照 离线环境安装依赖的指导进行依赖包的安装,然后按照本文的指导继续操作。如果网络环境可以连接互联网,请直接按照本文的指导进行安装。 准备工作​ 请参考安装环境文档准备安装环境。 配置用户与安装目录。 在操作前请检查您是否有 sud

mac安装brew 与 HomeBrew

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh >> brew_install BREW_REPO="