summaryrefslogtreecommitdiffstats
path: root/host/docs/images.rst
blob: c0645a82135c2b797472a1a390ae678c2093e538 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
========================================================================
UHD - Firmware and FPGA Image Application Notes
========================================================================

.. contents:: Table of Contents

------------------------------------------------------------------------
Images Overview
------------------------------------------------------------------------
Every USRP device must be loaded with special firmware and FPGA images.
The methods of loading images into the device varies among devices:

* **USRP1:** The host code will automatically load the firmware and FPGA at runtime.
* **USRP2:** The user must manually write the images onto the USRP2 SD card.
* **USRP-N Series:** The user must manually transfer the images over ethernet.
* **USRP-E Series:** The host code will automatically load the FPGA at runtime.
* **USRP-B Series:** The host code will automatically load the FPGA at runtime.

------------------------------------------------------------------------
Pre-built images
------------------------------------------------------------------------

Pre-built images are available for download.
See the UHD wiki for the download link.

The pre-built images come in platform-specific installer packages
and platform-independent archive files:

* **Linux:** DEB or RPM installer
* **Windows:** not available yet...
* **Macintosh:** not available yet...
* **Platform-independent:** ZIP or TAR.GZ archive

^^^^^^^^^^^^^^^^^^
Linux installers
^^^^^^^^^^^^^^^^^^
The Linux-based installers will install the images into /usr/share/uhd/images.
On a Linux system, the UHD will always search this path for image files.

Commands to install a linux rpm or deb package:

::

    sudo rpm -i <linux-images-installer>.rpm

    -- OR --

    sudo dpkg -i <linux-images-installer>.deb

^^^^^^^^^^^^^^^^^^^^^^
Archive install
^^^^^^^^^^^^^^^^^^^^^^
When installing images from an archive, there are two options:

**Option 1:**

Unpack the archive into the UHD installation prefix.
The UHD will always search <install-path>/share/uhd/images for image files.
Where <install-path> was set by the CMAKE_INSTALL_PREFIX at configure-time.

**Option 2:**

Unpack the archive anywhere and set the UHD_IMAGE_PATH environment variable.
The UHD_IMAGE_PATH may contain a list of directories to search for image files.

------------------------------------------------------------------------
Building images
------------------------------------------------------------------------

The UHD source repository comes with the source code necessary to build
both firmware and FPGA images for all supported devices.
The build commands for a particular image can be found in <uhd-repo-path>/images/Makefile.

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Xilinx FPGA builds
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Xilinx ISE 12.x and up is required to build the Xilinx FPGA images.
The build requires that you have a unix-like environment with make.
Make sure that xtclsh from the Xilinx ISE bin directory is in your $PATH.

See <uhd-repo-path>/fpga/usrp2/top/*

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Microblaze firmware builds
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The Microblaze GCC compiler from the Xilinx EDK is required to build the Microblaze firmware images.
The build requires that you have a unix-like environment with autotools and make.
Make sure that mb-gcc from the Xilinx EDK/microblaze directory is in your $PATH.

See <uhd-repo-path>/firmware/microblaze

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Altera FPGA builds
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Quartus is required to build the Altera FPGA images.
Pre-built images can also be found in <uhd-repo-path>/fpga/usrp1/rbf

See <uhd-repo-path>/fpga/usrp1/toplevel/*

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FX2 firmware builds
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The sdcc compiler is required to build the FX2 firmware images.
The build requires that you have a unix-like environment with autotools and make.

See <uhd-repo-path>/firmware/fx2