1. 概念性描述 [color=rgb(51, 51, 51) !important]USRP设备需要固件(firmware image)和FPGA镜像(FPGA image)且版本一致才能正常工作,此二者与上位机使用何种环境:Windows还是Linux无关 [1],即:同一套固件和镜像不需要更换可在Windows LabVIEW及Linux GNU Radio下使用。 [color=rgb(51, 51, 51) !important]
[color=rgb(51, 51, 51) !important]
图1 两套环境对比
[color=rgb(51, 51, 51) !important]在Windows系统下操作时,可通过NI-USRP ConfiguraTIon UTIlity 软件进行固件与FPGA镜像的写入/更新,如图2 。这样,USRP设备就能通过NI-USRP驱动与上位机通信。 [color=rgb(51, 51, 51) !important]
[color=rgb(51, 51, 51) !important]
图2 NI-USRP ConfiguraTIon UTIlity – N2xx/NI-29xx Image Updater
[color=rgb(51, 51, 51) !important]而在Linux GNU Radio下,UHD驱动代替了NI-USRP驱动的工作 [2]。可以通过运行 uhd_images_downloader 从网上下载镜像到本地,uhd_image_loader 更新镜像,之后会详细描述。 2. 环境搭建[color=rgb(51, 51, 51) !important]2.1 安装Ubuntu系统
我们常用的电脑都是Windows系统的,有两种方法在电脑上运行Linux。第一种方法是安装双系统,第二种方法是安装虚拟机并在虚拟机中安装Linux,由于方法二不需要额外分区、更改BIOS等操作、在操作不当时也不会导致Windows的崩溃,因此选用方法二。 [color=rgb(51, 51, 51) !important]这里使用了常见的虚拟机软件 VMware Workstation。在以下链接中可以下载Ubuntu 16.04:https://www.ubuntu.com/download/desktop Ubuntu是一个Linux常用的发行版。下载到的文件是Ubuntu系统的镜像.iso文件,在VMware中选择File – New Virtual Machine 按照提示一步步点击下一步即可,在配置虚拟机硬件时,CPU数及CPU核心数与实际CPU一致即可,内存可设的稍大一些,我设置了8G内存(共16G物理内存),硬盘设置40G(装完Ubuntu系统、安装完GNU Radio的所有依赖软件后实际使用了8.1G)。 [color=rgb(51, 51, 51) !important]启动虚拟机,按照第一次启动向导简单配置Ubuntu,进入桌面后点击左上角的图标,搜索terminal即命令行工具,如图3 。 [color=rgb(51, 51, 51) !important]
[color=rgb(51, 51, 51) !important]
图3 找到Ubuntu的命令行工具
[color=rgb(51, 51, 51) !important]打开命令行工具,输入
sudo passwd回车 [color=rgb(51, 51, 51) !important]设置管理员(Supper User)密码即root密码,在用户设置密码之前,Ubuntu每次开机会产生一个随机的root密码。注意,输密码时不会显示“****”,而是什么字符也不显示,这一点和我们一般的认知很不一样! [color=rgb(51, 51, 51) !important]系统提示再次输入密码,第二次输入密码并确认、两次一致后密码设置成功。接下来输入
sudo apt-get update回车 [color=rgb(51, 51, 51) !important]更新源,会提示输入管理员密码,输入刚才设置的管理员密码后点回车。之后输入(或复制粘贴,请勿使用Ctrl C + V的快捷键,而是鼠标右键在命令行窗口中单击 – 选择paste)
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.13-0v5 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-core 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 libqwt5-qt4-dev libqwtplot3d-qt4-dev pyqt4-dev-tools python-qwt5-qt4 cmake git-core wget libxi-dev gtk2-engines-pixbuf r-base-dev python-tk liborc-0.4-0 liborc-0.4-dev libasound2-dev python-gtk2 libzmq-dev libzmq1 python-requests python-sphinx libcomedi-dev python-zmq回车 [color=rgb(51, 51, 51) !important]大约会下载1个多G的依赖库和软件。等待其下载完成后,下载编译安装UHD驱动。
|