OpenCPI LibreSDR Getting Started Guide

Document Revision History

Table 1: OpenCPI LibreSDR Getting Started Guide: Revision History

Revision

Description of Change

Date

v1.0

Initial Release

3/2026

How to Use This Document

This document provides installation information that is specific to setting up the OpenCPI LibreSDR embedded system for use with OpenCPI. It describes system-specific details, if any, about setting up:

  • The platforms that comprise the system

  • The system as a whole

Use this document in conjunction with the OpenCPI Installation Guide, which describes the general steps to enable OpenCPI for use on an embedded system. Use this guide as a companion to the OpenCPI Installation Guide, especially when performing the steps described in the chapter “Enabling OpenCPI Development for Embedded Systems”. It provides details about the LibreSDR system that can be applied to the procedures described in that section.

The following documents can also be used as reference to the tasks described in this document:

Note that the OpenCPI Glossary is also contained in both the OpenCPI Installation Guide and the OpenCPI User Guide.

This document assumes a basic understanding of the Linux command line (or “shell”) environment.

Overview

The LibreSDR is a Xilinx® Zynq-based software-defined radio (SDR) system that consists of an RCC/CPU (software) “PS” platform and an HDL (FPGA) “PL” platform connected by an Advanced Extensible Interface (AXI) bus. The LibreSDR uses an Analog Devices AD9363 transceiver connected to the Zynq PL via a Low Voltage Differential Signaling (LVDS) interface.

In OpenCPI, the embedded RCC platform is xilinx24_1_aarch32 and the HDL platform is libresdr.

The libresdr HDL platform supports the following configurations:

Table 2: LibreSDR HDL Platform Configurations

Configuration

Description

cfg_1rx_0tx

1 receive channel, 0 transmit channels

cfg_0rx_1tx

0 receive channels, 1 transmit channel

cfg_1rx_1tx

1 receive channel, 1 transmit channel

Installation Prerequisites

The following items are required for OpenCPI LibreSDR system installation and setup:

  • LibreSDR board

  • Power supply (see board documentation for voltage requirements)

  • USB-C to USB-A cable (for serial console access) and power

  • microSD card (OpenCPI LibreSDR setup has been tested using a 4GB or larger microSD card)

An SD card reader is also required.

Note

This getting started guide and the OpenCPI Installation Guide provide the necessary instructions for setting up the LibreSDR for OpenCPI.

The following items are optional:

  • 1-Gigabit Ethernet cable (for network mode operation)

Installation Steps for Platforms

This section contains details about the LibreSDR that pertain to the instructions for installing OpenCPI platforms in the section “Installation Steps for Platforms” in the OpenCPI Installation Guide.

Required Downloads for Installing the Platform

The libresdr system requires the Xilinx Binary Zynq Release 2024.1. Download the OpenCPI Xilinx OSP for the libresdr using the following link:

Prebuilt SD Card Artifacts

This package is to be placed in the /tools/Xilinx/ZynqReleases/2024.1/ (or /opt/Xilinx/ZynqReleases/2024.1/) directory.

Download the OpenCPI Xilinx RCC Platform Kernel Headers using the following link:

2024.1 32-bit Kernel Headers

Place the 2024.1 32-bit Kernel Headers package in /tools/Xilinx/ZynqHeaders/2024.1/ (or /opt/Xilinx/ZynqHeaders/2024.1/).

Details for Installing the RCC Platform

The LibreSDR system supports the RCC platform xilinx24_1_aarch32, which can also be used by other Zynq-based systems. If this platform has already been installed and built for another system, it can apply to the LibreSDR and does not need to be installed and built again.

Details for Installing the HDL Platform

As described in the OpenCPI Installation Guide, each OpenCPI platform depends on a set of third-party/vendor tools that need to be manually installed so that the platform can be built. The libresdr HDL platform (HDL target zynq) is built with the Xilinx Vivado tools.

Setting up the LibreSDR After its Platforms are Installed

This section describes steps to enable the OpenCPI development and execution environment that must be performed on the LibreSDR after its platforms have been installed. It also contains setup information specific to the LibreSDR system that is needed when performing the tasks described in the section “Installation Steps for Systems After their Platforms are Installed” in the OpenCPI Installation Guide.

Details for Establishing a Serial Console Connection

This section contains details about the LibreSDR that pertain to the instructions for setting up a serial I/O console described in the section “Establishing a Serial Console Connection” in the OpenCPI Installation Guide:

  • The LibreSDR provides a UART serial console accessible via its USB connection. Connect a micro-USB to USB-A cable between the LibreSDR’s USB port and the development host.

  • The console serial port operates at 115200 baud.

Details for Configuring the Runtime Environment on the Embedded System

This section contains details about the LibreSDR that pertain to the instructions for configuring the runtime environment on the embedded system described in the section “Configuring the Runtime Environment on the Embedded System” in the OpenCPI Installation Guide.

Connecting the LibreSDR to a DHCP-supported Network (Optional)

Using server mode or network mode for OpenCPI on the LibreSDR embedded system requires establishing an Ethernet connection from the LibreSDR to a network that supports DHCP.

Connect a 1-Gigabit Ethernet cable between the LibreSDR’s Ethernet port and a DHCP-supported network switch or router.

Booting the LibreSDR from the SD Card

The LibreSDR boots from the microSD card. To boot from the SD card:

  1. Remove power from the LibreSDR.

  2. Insert the microSD card into the SD card slot on the LibreSDR.

  3. Connect usb cable to DEBUG port to power and access terminal on the LibreSDR. The baud rate should be 115200.

  4. On the development host, start the terminal emulator (usually with the screen command) at 115200 baud.

The LibreSDR system is initially set with root for user name and password.

Enabling the Network Interface (Optional)

When a single LibreSDR is on the network, execute the following command to enable its Ethernet interface:

$ ifconfig eth0 <desired ip address>

When multiple LibreSDR boards are on the network, you must modify the mynetsetup.sh script according to the instructions in the section “Connecting HDL Platforms to an Ethernet Network” in the OpenCPI Installation Guide before you proceed to running the test application.