Difference between revisions of "User talk:Duggabe"

From GNU Radio
Jump to: navigation, search
(Install UHD from source)
(Install UHD from source)
Line 23: Line 23:
 
The following command line script will install all the required dependencies for UHD:
 
The following command line script will install all the required dependencies for UHD:
 
<pre>
 
<pre>
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 libusb-1.0-0 libusb-1.0-0-dev libudev-dev python3-setuptools
+
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 libusb-1.0-0 libusb-1.0-0-dev libudev-dev python3-setuptools liborc-0.4-0 liborc-0.4-dev
 
</pre>
 
</pre>
  
Line 30: Line 30:
 
<pre>cd ~/uhd</pre>
 
<pre>cd ~/uhd</pre>
  
<b>Note:</b> In the following command, change <code>v3.15.0.0-rc3</code> to some other branch or tag if you want to build a different version.
+
<b>Note:</b> In the following command, change <code>v3.15.0.0</code> to some other branch or tag if you want to build a different version.
 
<pre>
 
<pre>
 
git tag -l
 
git tag -l
git checkout v3.15.0.0-rc3
+
git checkout v3.15.0.0
 
</pre>
 
</pre>
  
Line 43: Line 43:
 
</pre>
 
</pre>
  
<b>Note:</b> In the following command, we will use <code>-DCMAKE_INSTALL_PREFIX=/usr/local</code> to install UHD into the same prefix as GNU Radio.
+
<b>Note:</b> In the following command, we will use <code>-DCMAKE_INSTALL_PREFIX=/usr/local</code> to install UHD into the same prefix as GNU Radio. When compiling for ARM platforms, the assumption is made that NEON extensions are available if the arm_neon.h header is found. However, for platforms such as Raspberry Pi, one must specify -DNEON_SIMD_ENABLE=OFF in the following command.
<pre>cmake -DCMAKE_INSTALL_PREFIX=/usr/local ../</pre>
+
 
 +
<pre>
 +
cmake -DNEON_SIMD_ENABLE=OFF -DCMAKE_INSTALL_PREFIX=/usr/local ../
 +
</pre>
  
 
<b>Note:</b> In the following command, if your computer's CPU has multiple cores, you can use the argument <code>-j#</code> to speed compilation; <br> e.g., <code>make -j3</code> will use 3 threads in the build. Specify at least one less than the total number of CPU cores so the system does not appear to 'freeze' during the build. If not specified, then a single thread is used for the build.<br>
 
<b>Note:</b> In the following command, if your computer's CPU has multiple cores, you can use the argument <code>-j#</code> to speed compilation; <br> e.g., <code>make -j3</code> will use 3 threads in the build. Specify at least one less than the total number of CPU cores so the system does not appear to 'freeze' during the build. If not specified, then a single thread is used for the build.<br>
Line 69: Line 72:
 
</pre>
 
</pre>
  
The installation of UHD and GNU Radio should now be complete. At this point, connect the USRP to the host computer and run:
+
The installation of UHD is now complete. At this point, connect the USRP to the host computer and run:
 
<pre>
 
<pre>
 
uhd_usrp_probe
 
uhd_usrp_probe

Revision as of 00:09, 7 July 2020

"Recycle Bin": content we no longer link to that we may eventually just delete

Install UHD from source

If you want to use GNU Radio with a USRP, install the UHD package from source using the following instructions, or refer to the [USRP Manual] for other options and Operating Systems. UHD sits at the same level as GNU Radio as an independent driver, which gr-uhd references. So if you want gr-uhd enabled, you FIRST must clone and install UHD.

For this example, we will start in the home directory to parallel the steps in InstallingGR#To_install_system_wide.

cd ~/

The following command line script will install all the required dependencies for UHD:

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 libusb-1.0-0 libusb-1.0-0-dev libudev-dev python3-setuptools liborc-0.4-0 liborc-0.4-dev

Clone the code into your home directory:

git clone git://github.com/EttusResearch/uhd.git
cd ~/uhd

Note: In the following command, change v3.15.0.0 to some other branch or tag if you want to build a different version.

git tag -l
git checkout v3.15.0.0

Note: Unlike most build processes, this one builds under the host directory.

cd host
mkdir build
cd build

Note: In the following command, we will use -DCMAKE_INSTALL_PREFIX=/usr/local to install UHD into the same prefix as GNU Radio. When compiling for ARM platforms, the assumption is made that NEON extensions are available if the arm_neon.h header is found. However, for platforms such as Raspberry Pi, one must specify -DNEON_SIMD_ENABLE=OFF in the following command.

cmake -DNEON_SIMD_ENABLE=OFF -DCMAKE_INSTALL_PREFIX=/usr/local ../

Note: In the following command, if your computer's CPU has multiple cores, you can use the argument -j# to speed compilation;
e.g., make -j3 will use 3 threads in the build. Specify at least one less than the total number of CPU cores so the system does not appear to 'freeze' during the build. If not specified, then a single thread is used for the build.

make -j3
make test
sudo make install

If you're running Linux, then always do the following command after installing any library:

sudo ldconfig

You can now download the UHD FPGA Images for this installation.

sudo uhd_images_downloader

On Linux, udev handles USB plug and unplug events. The following commands install a udev rule so that non-root users may access the device.

cd ~/uhd/host/utils
sudo cp uhd-usrp.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger

The installation of UHD is now complete. At this point, connect the USRP to the host computer and run:

uhd_usrp_probe

a dummy section

a dummy section