Git Product home page Git Product logo

redpitaya's Introduction

Red Pitaya ecosystem and applications

Here you will find the sources of various software components of the Red Pitaya system. The components are mainly contained in dedicated directories, however, due to the nature of the Xilinx SoC "All Programmable" paradigm and the way several components are interrelated, some components might be spread across many directories or found at different places one would expect.

directories contents
api librp.so API source code
Applications Red Pitaya applications (controller modules & GUI clients).
apps-free Red Pitaya application for the old environment (also with controler modules & GUI clients).
Bazaar Nginx server with dependencies, Red Pitaya Bazaar module & application controller module loader.
fpga FPGA design for the inital set of Red Pitaya applications.
OS/buildroot GNU/Linux operating system components
patches Directory containing red pitaya patches
scpi-server Scpi server directory, containing red pitaya core scpi server
Test Command line utilities (acquire, generate, ...).
shared libredpitaya.so API source code

Build process

Currently the published code does not allow for building the whole system, th next components can be built separately"

  • FPGA + device tree
  • API
  • free applications
  • SCPI server
  • Linux kernel
  • Debian OS

Requirements

You will need the following to build the Red Pitaya components:

  1. Xilinx Vivado 2015.2 FPGA development tools, the SDK (bare metal toolchain) must also be installed.
  2. Linaro toolchain for cross compiling Linux applications, can be downloaded from Linaro release servers.
  3. GNU make autoconf, automake, ...
  4. u-boot-tools, curl

Red Pitaya OS wiki page provides more information about installing the required tools.

An example script settings.sh is provided for setting all necessary environment variables. The script assumes some default tool install paths, so it might need editing.

. settings.sh

Base system

Here base system represents everything before Linux user space.

FPGA and device tree

Detailed instructions are provided for building the FPGA including some device tree details.

U-boot

To build the U-Boot binary and boot scripts (used to select between booting into Buildroot or Debian):

make tmp/u-boot.elf
make build/u-boot.scr

The build process downloads the Xilinx version of U-Boot sources from Github, applies patches and starts the build process. Patches are available in the patches/ directory.

Linux kernel

To build a Linux image:

make tmp/uImage

The build process downloads the Xilinx version of Linux sources from Github, applies patches and starts the build process. Patches are available in the patches/ directory.

Boot file

The created boot file contains FSBL, FPGA bitstream and U-Boot binary.

make tmp/boot.bin.uboot

Since file tmp/boot.bin.uboot is created it should be renamed to simply tmp/boot.bin. There are some preparations for creating a memory test tmp/boot.bin.memtest which would run from the SD card, but it did not go es easy es we would like, so it is not working.

Linux user space

Buildroot

Buildroot is the most basic Linux distribution available for Red Pitaya. It is also used to provide some sources which are dependencies for Userspace applications.

make build/uramdisk.image.gz

Debian OS

Debian OS instructions are detailed elsewhere.

API

Only instructions for the basic API are provided: Navigate to the api/rpbase folder and run:

make

The output of this process is the Red Pitaya librp.so library in api/lib directory.

Free applications

To build apps free, follow the instructions given at apps-free README.md file.

SCPI server

Scpi server README can be found here

redpitaya's People

Contributors

alesb avatar aljosamrak avatar andreysolovev avatar bborut avatar cimem avatar drws avatar funkyclown avatar hrrossi avatar jeras avatar katjasuvajac avatar melko avatar pdorazio avatar qwe2tz avatar simonpw avatar tomazj avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.