National Instruments Ettus E3, Ettus USRP E310 Getting Started Manual

OpenCPI
Ettus E3XX Getting Started Guide
Version 1.5
Figure 1: Top View (E310)
1
Ettus E3XX Getting Started Guide ANGRYVIPER Team
Revision History
Revision Description of Change Date
v1.4 Updated for Release 9/2018 v1.5 Version bump only 4/2019
2
Ettus E3XX Getting Started Guide ANGRYVIPER Team
Table of Contents
1 References 4
2 Overview 5
3 Prerequisites 5
3.1 Installation of provided projects: core, assets and bsp_e310 . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2 Vendor Software Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.3 Building Required Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.4 Hardware Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4 SD Card Setup 8
4.1 Make a backup image of factory SD card (assumes Linux host) . . . . . . . . . . . . . . . . . . . . . . 8
4.2 Format the SD card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.3 Copy OpenCPI files to SD card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.3.1 Copy Standalone Mode specific files to SD card . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.3.2 Copy Network Mode specific files to SD card . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.3.3 SD Card Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5 Script Setup 9
5.1 Setting up the Network and Standalone Mode scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5.1.1 Network Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5.1.2 Standalone Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5.2 Setup system time reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
5.3 rsync” provided binary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
6 Development Host Setup - Network Mode ONLY 10
6.1 Network Mounting Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
6.1.1 CentOS 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
6.1.2 CentOS 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
7 Configuring the runtime environment on the platform 12
7.1 Network Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
7.2 Standalone Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
8 Build an application 14
9 Run an Application 14
9.1 Network Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
9.2 Run an Application in Standalone Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
10 Running Reference Applications 17
Appendices 18
A Generating Boot Artifacts 18
A.1 BOOT.bin and u-bo ot.img . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
A.2 devicetree.dtb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
A.3 uImage and uramdisk.image.gz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
B Copying only required files to SD card 19
B.1 Copy embedded OS and boot files to SD card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
B.2 Files needed for Standalone Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
B.3 Files needed for Network Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3
Ettus E3XX Getting Started Guide ANGRYVIPER Team

1 References

This document assumes a basic understanding of the Linux command line (or “shell”) environment. The reference(s) in Table 1 can be used as an overview of OpenCPI and may prove useful.
Title Published By Link
Getting Started ANGRYVIPER Team Getting_Started.pdf
Installation Guide ANGRYVIPER Team RPM_Installation_Guide.pdf
Acronyms and Definitions ANGRYVIPER Team Acronyms_and_Definitions.pdf
Overview OpenCPI http://opencpi.github.io/
Overview.pdf
Table 1: References
4
Ettus E3XX Getting Started Guide ANGRYVIPER Team

2 Overview

This document provides steps for configuring a factory provided Ettus USRP E310 with the OpenCPI runtime environment for executing applications, configuring a development system to build OpenCPI bitstreams targeting the e3xx platform, and examples of executing applications on the OpenCPI configured E310.

3 Prerequisites

This guide assumes that, at a minimum, the following RPMs are installed:
RPM Name Description
All prerequisite RPMs These packages have OpenCPI-specific patches and are provided
as RPMs. This packaging ensures they will not conflict with other installed copies by using a nonstandard installation loca­tion of /opt/opencpi/prerequisites.
angryviper-ide-*.x86 64.rpm The ANGRYVIPER IDE (Eclipse with plugins). See RPM
Installation Guide.pdf, Appendix D for an alternative method to set up the IDE using an existing Eclipse installation.
opencpi-*.x86_64.rpm Base installation RPM includes the runtime portion of the
Component Development Kit (CDK) and the source for the ocpi.core and ocpi.assets Projects containing framework essen­tial components, workers, platforms, etc.
opencpi-devel-*.x86_64.rpm Additional header files and scripts for developing new assets as
HDL and/or RCC.
opencpi-sw-platform-xilinx13_4-*.noarch.rpm Additional files necessary to build the framework targeting spe-
cific RCC/software platforms, independent of the final deployed hardware.
opencpi-hw-platform-e3xx-*.noarch.rpm Additional files necessary to build the framework targeting spe-
cific hard-ware platform "X" when running RCC platform "Y" ("Y" can be "no sw"). This RPM also includes hardware-specific SD Card images when applicable.
3.1 Installation of provided projects: core, assets and bsp_e310
This guide assumes the user has executed ocpi-copy-projects, accepting the default settings, to copy and register the core, assets, and bsp_e310 projects from the /opt/opencpi/projects for building bitstreams for the E310. Reference the Getting Started Guide for details on ocpi-copy-projects. Although the projects are registered by ocpi-copy-projects, changes to the registry can be made via ocpidev un/register project or the ANGRYVIPER
GUI.
$ ocpi-copy-projects ... $ ls ~/ocpi_projects assets bsp_e310 core $ ocpidev show registry Project registry is located at: /opt/opencpi/cdk/../project-registry
---------------------------------------------------------------------------------------­| Project Package-ID | Path to Project | Valid/Exists | | ------------------ | --------------- | ------------ | | ocpi.core | /home/<user>/ocpi_projects/core | True | | ocpi.assets | /home/<user>/ocpi_projects/assets | True | | ocpi.bsp.e310 | /home/<user>/ocpi_projects/bsp_e310 | True |
----------------------------------------------------------------------------------------
5
Ettus E3XX Getting Started Guide ANGRYVIPER Team

3.2 Vendor Software Setup

The platform that is expected to be used is the Ettus Research/National Instruments Universal Software Radio Peripheral (USRP) E310 (or E3XX) SDR (e.g. e3xx). This OpenCPI-enabled platform provides the capability of deploying hardware and software workers while using Xilinx’s 13.4 distribution of Linux.
The synthesizers and cross-compilers required to build HDL and RCC Workers for this Platform are installed by following the instructions found in the OpenCPI FPGA Vendor Tools Installation Guide. This document assumes that the user has installed the appropriate versions of Vivado and the Xilinx SDK.

3.3 Building Required Projects

The core, assets, and bsp_e310 projects must be built in a specific order for this platform. This section outlines how to build the relevant projects and provides the commands to do so.
For this document, the projects should be built as follows:
1. Build core for the xilinx13_4 RCC Platform and the e3xx HDL Platform, but omit assemblies
2. Build assets for the xilinx13_4 RCC Platform and the e3xx HDL Platform, but omit assemblies
3. Build the bsp_e310 project for these same platforms
4. Build the testbias assembly from the assets project. This will be used later in this guide.
Once the HDL Platform is built in the BSP project, assemblies can be built for that HDL platform
$ cd /home/<user>/ocpi_projects/ && \ $ ocpidev build -d core --rcc-platform xilinx13_4 --hdl-platform e3xx --no-assemblies && \ $ ocpidev build -d assets --rcc-platform xilinx13_4 --hdl-platform e3xx --no-assemblies && \ $ ocpidev build -d bsp_e310 --rcc-platform xilinx13_4 --hdl-platform e3xx && \ $ ocpidev build -d assets hdl assembly testbias --hdl-platform e3xx;
Note: replace “<user>” with your username in the commands above.
Each of these build commands can also be performed via the ANGRYVIPER IDE as follows:
To perform this operation within the IDE:
1. Open the ANGRYVIPER Perspective
2. Select the asset from OpenCPI Project View
3. Import to AV Operations Panel using “>” button
4. Select the RCC and/or HDL platforms for the build (use
5. Click “Build”
See the ANGRYVIPER Team’s Getting Started Guide for additional information concerning the use of ocpidev and the ANGRYVIPER IDE to build OpenCPI assets.
Ctrl for multiple selection)

3.4 Hardware Setup

Ettus USRP E3XX
It is expected that this SDR package includes a power supply, micro-USB to USB cable and standard SD card (4GB or larger).
OpenCPI has been tested on the Ettus USRP E310.
The micro-USB serial port located on the back E310 labeled CONSOLE (Figure 2) can be used to access the serial connection with the processor.
6
Loading...
+ 13 hidden pages