User:Duggabe: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
No edit summary
(Replaced content with "802px")
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
<!-- InstallingGRFromSource_on_Raspberry_Pi -->
[[File:FSK_example_fg.png|802px]]
These instructions have been tested with the <q>Raspberry Pi OS (32-bit) with desktop and recommended software</q> on a Raspberry Pi 3B+. A 32GB microSD card is recommended.
 
== Set up a swap file ==
 
A swap file will improve the compile time greatly.
 
<pre>
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
</pre>
<p>To make the swap file permanent, add this line to /etc/fstab</p>
<pre>
/swapfile  none  swap  sw  0  0
</pre>
 
== Load prerequisites ==
 
You may have some of these prerequisites already, but it doesn't hurt to get them again and check for the latest versions.
 
<pre>
sudo apt update --allow-releaseinfo-change
sudo apt upgrade
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 libpthread-stubs0-dev libusb-1.0-0-dev \
python-docutils build-essential liborc-0.4-0 liborc-0.4-dev
</pre>
 
== Install UHD from source ==
 
If you want to use GNU Radio with a USRP, install the UHD package from source using the following instructions.
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 <b>FIRST</b> 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]].
 
<pre>cd ~/</pre>
 
Clone the code into your home directory:
 
<pre>
git clone git://github.com/EttusResearch/uhd.git
cd ~/uhd
</pre>
 
<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>
git tag -l
git checkout v3.15.0.0
</pre>
 
<b>Note:</b> Unlike most build processes, UHD builds under the <code>host</code> directory.
<pre>
cd host
mkdir build
cd build
</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. 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 -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 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; this is not necessarily a bad thing, but it will take roughly 2 times as long to build as using 2 threads, and roughly 3 times as long to build as using 3 threads.<br>
 
<pre>
make -j3
make test
sudo make install
</pre>
 
If you're running Linux, then always do the following command after installing any library:
 
<pre>sudo ldconfig</pre>
 
You can now download the UHD FPGA Images for this installation.
<pre>
sudo uhd_images_downloader
</pre>
 
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.
<pre>
cd ~/uhd/host/utils
sudo cp uhd-usrp.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger
</pre>
 
The installation of UHD is now complete. At this point, connect the USRP to the host computer and run:
<pre>
uhd_usrp_probe
</pre>
 
== Install GNU Radio ==
 
<b>The next steps will take two or more hours. Be patient. The terminal does show the progress.</b>
 
Click [[InstallingGR#To_install_system_wide]] to go to the install instructions.

Revision as of 17:47, 8 September 2020

FSK example fg.png