Name | Version |
---|---|
Ubuntu | 16.04 |
uhd | 3.15.0.0(UHD-3.15.LTS) |
gnuradio | maint3.7 |
libboost-all-dev
可以考虑换更高的版本。
sudo apt-get install libusb-1.0-0-dev build-essential doxygen \
python3-mako python3-docutils python3-numpy python3-dev libssl-dev python3-setuptools
ubuntu package manager 的 cmake 版本太低(好像已经不维护了),所以我们需要从源码编译安装 cmake。
cd ~/Downloads #随便哪个目录
git clone https://github.com/Kitware/CMake.git
cd CMake
mkdir build && cd build
../bootstrap && make && make test && sudo make install
上面的依赖都安装完了之后,我们可以开始编译UHD了。
cd ~/Downloads
git clone https://github.com/EttusResearch/uhd.git
cd uhd
git branch -a # or `git tag -l`
# Example: For UHD-3.15.LTS
git checkout UHD-3.15.LTS
cd host && mkdir build
cd build
cmake ../
由于每个人系统的具体情况都不相同,上述依赖不一定完整。具体情况根据你cmake的结果来定。
上图LibUHD - Pyhton API
没能开启的原因是我最开始参考官网安装引导时, 少装了python3-dev
(我理解是python3的开发环境依赖) 和python3-numpy
依赖。装完你缺的依赖后再次cmake。
rm * -rf
cmake ../
# 确保你没有usrp设备连接在电脑上
make && make test
sudo make install
sudo ldconfig
添加动态链接库搜索路径, 在$HOME/.bashrc
最后添加
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
sudo uhd_find_devices
# download UHD-FPGA Images
sudo uhd_images_downloader
镜像下载过慢,挂代理解决, 或者自己手动去找,只要确定在目录/usr/local/share/uhd/images/
下有对应文件就行。
Note:如果你用台式机连接usrp的话,最好用机箱后主板上的usb3.0接口,不要用机箱前通过线连接的快捷usb3.0口,后面一种情况会导致设备突然断开而报错。
让普通用户可以获取usb设备,主要用于靠usb连接到主机的usrp设备。
cd $HOME/Downloads/uhd/host/utils
sudo cp uhd-usrp.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger
# 有些依赖上面uhd已经装过了
sudo apt-get install swig2.0 libfftw3-dev libcppunit-dev libgsl-dev alsa-base \
libasound2 libasound2-dev
#开启 gnuradio companion
sudo apt-get install python-numpy python-cheetah python-lxml python-gtk
# 开启 WX GUI
sudo apt-get install python-wxgtk3.0 python-numpy
# 开启 QT GUI
sudo apt-get install python-qt4 python-qwt5-qt4 libqt4-opengl-dev libqwt5-qt4-dev \
libfontconfig1-dev libxrender-dev libxi-dev
# 开启 video sdl
sudo apt-get install libsdl1.2-dev
# 开启 Polyphase Filter Bank examples
sudo apt-get install python-scipy python-matplotlib python-tk
sudo apt-get install sdcc
sudo apt-get install guile-2.0-*
sudo apt-get install ccache
sudo apt-get install python-sip python-sip-dev
sudo apt-get install python-sphinx python-make
sudo apt-get install libcomedi-dev libzmq-dev python-zmq
cd ~/Downloads
git clone https://github.com/gnuradio/gnuradio.git
cd gnuradio
git checkout maint-3.7
git submodule update --init --recursive
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ../
make -j $(nproc --all)
make test
sudo make install
sudo ldconfig
gnuradio-config-info --version
gnuradio-config-info --prefix
gnuradio-config-info --enabled-components
然后就是运行gnuradio了
gnuradio-companion