• Stars
    star
    249
  • Rank 163,028 (Top 4 %)
  • Language
    Shell
  • License
    Other
  • Created about 8 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

PlutoSDR Firmware

plutosdr-fw

PlutoSDR Firmware for the ADALM-PLUTO Active Learning Module

Latest binary Release : GitHub Release Github Releases

Firmware License : Many Licenses Many License Many License Many License and many others.

Instructions from the Wiki: Building the image

  • Build Instructions
 sudo apt-get install git build-essential fakeroot libncurses5-dev libssl-dev ccache
 sudo apt-get install dfu-util u-boot-tools device-tree-compiler libssl1.0-dev mtools
 sudo apt-get install bc python cpio zip unzip rsync file wget
 git clone --recursive https://github.com/analogdevicesinc/plutosdr-fw.git
 cd plutosdr-fw
 export CROSS_COMPILE=arm-linux-gnueabihf-
 export PATH=$PATH:/opt/Xilinx/Vitis/2021.2/gnu/aarch32/lin/gcc-arm-linux-gnueabi/bin
 export VIVADO_SETTINGS=/opt/Xilinx/Vivado/2021.2/settings64.sh
 make

The project may build also using Vivado 2019.1 2018.2 2017.4, 2017.2, 2016.4 or 2016.2. However 2021.2 is the current tested FPGA systhesis toolchain. In the v0.30 release we swithched to the arm-linux-gnueabihf-gcc hard-float toolchain.

If you want to use the former arm-xilinx-linux-gnueabi-gcc soft-float toolchain included in SDK 2017.2. Following variables should be exported:

export CROSS_COMPILE=arm-xilinx-linux-gnueabi-
export PATH=$PATH:/opt/Xilinx/SDK/2017.2/gnu/arm/lin/bin
export VIVADO_SETTINGS=/opt/Xilinx/Vivado/2017.4/settings64.sh

And you need to revert this patch: https://github.com/analogdevicesinc/buildroot/commit/fea212afc7dc0ee530762a1921d9ae8180778ffa

If you receive an error similar to the following:

Starting SDK. This could take few seconds... timeout while establishing a connection with SDK
   while executing
"error "timeout while establishing a connection with SDK""
   (procedure "getsdkchan" line 108)
   invoked from within
"getsdkchan"
   (procedure "createhw" line 26)
   invoked from within
"createhw {*}$args"
   (procedure "::sdk::create_hw_project" line 3)
   invoked from within
"sdk create_hw_project -name hw_0 -hwspec build/system_top.hdf"
   (file "scripts/create_fsbl_project.tcl" line 5)

you may be able to work around it by preventing eclipse from using GTK3 for the Standard Widget Toolkit (SWT). Prior to running make, also set the following environment variable:

export SWT_GTK3=0

This problem seems to affect Ubuntu 16.04LTS only.

  • Updating your local repository
     git pull
     git submodule update --init --recursive
  • Build Artifacts
     michael@HAL9000:~/devel/plutosdr-fw$ ls -AGhl build
     total 543M
     -rw-rw-r-- 1 michael   69 Mär  1 09:28 boot.bif
     -rw-rw-r-- 1 michael 443K Mär  1 09:28 boot.bin
     -rw-rw-r-- 1 michael 443K Mär  1 09:28 boot.dfu
     -rw-rw-r-- 1 michael 572K Mär  1 09:28 boot.frm
     -rw-rw-r-- 1 michael 475M Mär  1 09:28 legal-info-v0.36.tar.gz
     -rw-rw-r-- 1 michael 617K Mär  1 09:25 LICENSE.html
     -rw-rw-r-- 1 michael  11M Mär  1 09:27 pluto.dfu
     -rw-rw-r-- 1 michael  11M Mär  1 09:28 pluto.frm
     -rw-rw-r-- 1 michael   33 Mär  1 09:28 pluto.frm.md5
     -rw-rw-r-- 1 michael  11M Mär  1 09:27 pluto.itb
     -rw-rw-r-- 1 michael  20M Mär  1 09:28 plutosdr-fw-v0.36.zip
     -rw-rw-r-- 1 michael 578K Mär  1 09:28 plutosdr-jtag-bootstrap-v0.36.zip
     -rw-rw-r-- 1 michael 441K Mär  1 09:26 ps7_init.c
     -rw-rw-r-- 1 michael 442K Mär  1 09:26 ps7_init_gpl.c
     -rw-rw-r-- 1 michael 4,2K Mär  1 09:26 ps7_init_gpl.h
     -rw-rw-r-- 1 michael 3,6K Mär  1 09:26 ps7_init.h
     -rw-rw-r-- 1 michael 2,4M Mär  1 09:26 ps7_init.html
     -rw-rw-r-- 1 michael  31K Mär  1 09:26 ps7_init.tcl
     -rw-r--r-- 1 michael 5,3M Mär  1 09:25 rootfs.cpio.gz
     drwxrwxr-x 6 michael 4,0K Mär  1 09:26 sdk
     -rw-rw-r-- 1 michael 943K Mär  1 09:26 system_top.bit
     -rw-rw-r-- 1 michael 716K Mär  1 09:26 system_top.xsa
     -rwxrwxr-x 1 michael 761K Mär  1 09:28 u-boot.elf
     -rw-rw---- 1 michael 128K Mär  1 09:28 uboot-env.bin
     -rw-rw---- 1 michael 129K Mär  1 09:28 uboot-env.dfu
     -rw-rw-r-- 1 michael 7,0K Mär  1 09:28 uboot-env.txt
     -rwxrwxr-x 1 michael 4,1M Mär  1 09:24 zImage
     -rw-rw-r-- 1 michael  22K Mär  1 09:26 zynq-pluto-sdr.dtb
     -rw-rw-r-- 1 michael  22K Mär  1 09:26 zynq-pluto-sdr-revb.dtb
     -rw-rw-r-- 1 michael  23K Mär  1 09:26 zynq-pluto-sdr-revc.dtb
  • Main targets

    File Comment
    pluto.frm Main PlutoSDR firmware file used with the USB Mass Storage Device
    pluto.dfu Main PlutoSDR firmware file used in DFU mode
    boot.frm First and Second Stage Bootloader (u-boot + fsbl + uEnv) used with the USB Mass Storage Device
    boot.dfu First and Second Stage Bootloader (u-boot + fsbl) used in DFU mode
    uboot-env.dfu u-boot default environment used in DFU mode
    plutosdr-fw-vX.XX.zip ZIP archive containg all of the files above
    plutosdr-jtag-bootstrap-vX.XX.zip ZIP archive containg u-boot and Vivao TCL used for JATG bootstrapping
  • Other intermediate targets

    File Comment
    boot.bif Boot Image Format file used to generate the Boot Image
    boot.bin Final Boot Image
    pluto.frm.md5 md5sum of the pluto.frm file
    pluto.itb u-boot Flattened Image Tree
    rootfs.cpio.gz The Root Filesystem archive
    sdk Vivado/XSDK Build folder including the FSBL
    system_top.bit FPGA Bitstream (from HDF)
    system_top.hdf FPGA Hardware Description File exported by Vivado
    u-boot.elf u-boot ELF Binary
    uboot-env.bin u-boot default environment in binary format created form uboot-env.txt
    uboot-env.txt u-boot default environment in human readable text format
    zImage Compressed Linux Kernel Image
    zynq-pluto-sdr.dtb Device Tree Blob for Rev.A
    zynq-pluto-sdr-revb.dtb Device Tree Blob for Rev.B
    zynq-pluto-sdr-revc.dtb Device Tree Blob for Rev.C

More Repositories

1

hdl

HDL libraries and projects
Verilog
1,215
star
2

no-OS

Software drivers in C for systems without an operating system
C
956
star
3

linux

Linux kernel variant from Analog Devices; see README.md for details
C
438
star
4

libiio

A cross platform library for interfacing with local and remote Linux IIO devices
C
416
star
5

scopy

A software oscilloscope and signal analysis toolset
C++
327
star
6

iio-oscilloscope

A GTK+ based oscilloscope application for interfacing with various IIO devices
C
222
star
7

pyadi-iio

Python interfaces for ADI hardware with IIO drivers (aka peyote)
Python
144
star
8

MaximAI_Documentation

START HERE: Documentation for ADI's MAX78000 and MAX78002 Edge AI devices
91
star
9

Linduino

Code for the Linduino, An Arduino Uno-based board that is compatible with many Analog Devices evaluation boards
C++
89
star
10

gr-iio

IIO blocks for GNU Radio
C++
86
star
11

ai8x-training

Model Training for ADI's MAX78000 and MAX78002 Edge AI Devices
Jupyter Notebook
81
star
12

fpgahdl_xilinx

(RETIRED see https://github.com/analogdevicesinc/hdl instead) FPGA interface reference designs for Analog Devices mixed signal IC products
C
81
star
13

plutosdr_scripts

Small scripts and examples to make interacting with the PlutoSDR easier
C
77
star
14

MathWorks_tools

Scripts and tools created by ADI to be used with MATLAB and Simulink with ADI products
MATLAB
72
star
15

aditof_sdk

Analog Devices 3D ToF software suite
C++
70
star
16

msdk

Software Development Kit for Analog Device's MAX-series microcontrollers
C
63
star
17

ad5940-examples

AD594x related application examples and block level examples.
60
star
18

EVAL-ADICUP360

Detailed User Guide for the EVAL-ADICUP360, showing how to use the software and hardware in combination. As well as a link to download the CrossCore Embedded Studio IDE.
C
56
star
19

TransceiverToolbox

MATLAB toolbox for ADI transceiver products
MATLAB
56
star
20

libad9361-iio

IIO AD9361 library for filter design and handling, multi-chip sync, etc.
C
55
star
21

ad936x-filter-wizard

MATLAB-based FIR filter design
MATLAB
51
star
22

ai8x-synthesis

Quantization and Synthesis (Device Specific Code Generation) for ADI's MAX78000 and MAX78002 Edge AI Devices
Python
50
star
23

plutosdr-m2k-drivers-win

Windows USB drivers for PlutoSDR and ADALM2000
46
star
24

m2k-fw

M2k firmware for the ADALM-2000 Active Learning Module
Shell
44
star
25

Pixelpulse2

Pixelpulse2 is a user interface for analog systems exploration.
QML
43
star
26

gr-ofdmradar

A simple OFDM Radar implementation
C++
40
star
27

arduino

Adruino Sketches
C++
37
star
28

ad5940lib

Firmware library for AD594x and ADuCM355
C
34
star
29

ToF

C++
34
star
30

libm2k

A C++ library (bindings for Python and C#) for interfacing with the ADALM2000
MATLAB
30
star
31

buildroot

Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation. Forked from https://git.busybox.net/buildroot/
Makefile
29
star
32

meta-adi

This is the Analog Devices Inc. Yocto/OpenEmbedded layer
Shell
29
star
33

EVAL-ADICUP3029

This repo includes examples which run on the EVAL-ADICUP3029 ARM Cortex-M3 processor development platform from Analog Devices.
C
29
star
34

libsmu

Software abstractions for the analog signal exploration tools.
Python
29
star
35

aducm355-examples

This repo includes examples for the Analog Devices ADUCM355 Precision Analog Microcontroller with Chemical Sensor Interface
C
25
star
36

VSCode-Maxim

VSCode project folders for the Analog Devices MSDK
Makefile
24
star
37

education_tools

Tools for education related platforms
AGS Script
23
star
38

TMC-EvalSystem

C
21
star
39

sharc-reusable-components

A collection of embedded C code packaged into a library of reusable components and starter examples designed to facilitate customers’ easy deployment into demo or production systems using a SHARC DSP
C
20
star
40

libtinyiiod

Tiny IIO Daemon Library
C
19
star
41

imu-ros2

A C++ ROS2 node that read sensor data from ADI IMU and publishes message to topic.
C++
18
star
42

adpd-drivers

Analog Devices Photometric Device Drivers
C++
18
star
43

HighSpeedConverterToolbox

MATLAB toolbox for ADI high speed converter products
MATLAB
18
star
44

m1k-fw

Firmware for the ADALM1000.
C
17
star
45

vampyre

Python
16
star
46

MAX78xxx-RefDes

MAX78000 and MAX78002 Reference Designs
C
16
star
47

linux_image_ADI-scripts

ADI Scripts for Linux images
Shell
15
star
48

alice

Active Learning Interface for Circuits and Electronics
14
star
49

precision-converters-firmware

Precision Converters Embedded Firmware Repository
C
14
star
50

openocd

OpenOCD provides on-chip programming and debugging support with a layered architecture of JTAG interface and TAP support. Clone of http://git.code.sf.net/p/openocd
C
14
star
51

genalyzer

Library of DSP functions for RF measurements
C++
14
star
52

lnxdsp-adi-meta

Yocto meta layer for Analog Devices ADSP-SC5xx based EZ-KIT boards
C
13
star
53

max32625pico-firmware-images

13
star
54

libiio-matlab

MATLAB bindings for libiio
MATLAB
13
star
55

ev-cbm-voyager

Wireless Industrial Condition Monitoring solution
Python
12
star
56

m1k-cad

ecad for the ADALM1000
Groff
12
star
57

codefusion-studio

ADI's Embedded Development Tools
TypeScript
11
star
58

jesd-eye-scan-gtk

JESD204 Eye Scan Visualization Utility
C
11
star
59

fru_tools

Tools to display/manipulate FMC FRU info
C
11
star
60

iio-fm-radio

Simple IIO FM Radio receive example
C
11
star
61

adi_3dtof_image_stitching

The ADI 3D ToF Image Stitching is a ROS (Robot Operating System) package for stitching Depth images from multiple ADTF3175D Time-Of-Flight sensors to expand the field of view.
C++
11
star
62

pyadi-jif

Python interface and configurator for the ADI JESD204 Interface Framework
Python
10
star
63

iolink

Python
10
star
64

iSensor-FX3-Eval

Analog Devices IMU/ADcmXL Evaluation GUI built on the iSensor-FX3-API (for EVAL-ADIS-FX3 board)
Visual Basic .NET
10
star
65

testbenches

Testbenches for HDL projects
SystemVerilog
10
star
66

FreeRTOS

Analog Devices FreeRTOS repository
10
star
67

sam-audio-starter

The project is tailored for quick audio start-up with the SHARC Audio Module board. It uses the various reusable component building blocks to provide a simple example to customers to get started transferring audio.
C
9
star
68

tmcl_ros2

Official ROS2 Driver for Trinamic Motor Controllers (TMC) that uses Trinamic Motion Control Language (TMCL) protocol
Python
9
star
69

gmsl

Gigabit Multimedia Serial Link (GMSL) technology from Analog Devices, Inc. (ADI)
9
star
70

tmcl_ros

adi_tmcl (previously tmcl_ros) is the official ROS Driver for ADI Trinamic Motor Controllers (TMC) that uses Trinamic Motion Control Language (TMCL) protocol.
C++
8
star
71

PyTrinamicMicro

Python
8
star
72

ad937x-filter-wizard

MATLAB-based FIR filter and profile designer
C
8
star
73

iio-emu

Server application for libiio clients.
C++
8
star
74

sam-baremetal-sdk

SHARC Audio Module Bare Metal SDK
C
8
star
75

sigmadsp-genfirmware

SigmaDSP Firmware Utility for Linux
C
7
star
76

adi-imu-driver

C library to drive ADI IMUs
C
7
star
77

max78000-secure-loader

Secure boot loader for MAX78000
Python
7
star
78

rfsom-box-gui

GUI application for the RFSOM Box
C++
7
star
79

MAXREFDES1277

MAXREFDES1277 is a reference design that enables the evaluation of MAX17853/52 for battery management in a 48V system.
C++
6
star
80

RFMicrowaveToolbox

MATLAB Toolbox for ADI RF and Microwave Models and Control Interfaces
MATLAB
6
star
81

MAXREFDES1260

This repository is where you can download the firmware and PC GUI program of the MAXREFDES1260. It is a USB Type-C battery charging example using Maxim chips MAX14748 multi-cell battery charger and the MAX17261 fuel gauge.
C
6
star
82

lnxdsp-scripts

Yocto Set up scripts for configuring and building Linux for ADSP-SC5xx development boards.
Python
6
star
83

study-watch-sdk

This repository hosts the SDK for the Analog Devices Inc. study watch. You will find examples and documentation for the SDK.
Java
6
star
84

runtime-sharc-loader

Utility to boot SHARC applications from ARM core on ADSP-SC58x processors
C
5
star
85

TMCL-C-Examples

C
5
star
86

sigma-tcp

SigmaStudio Network Utility for Linux
C
5
star
87

AD5593-AuxIO-Win10-IoT

Win10 IoT command line auxiliary IO test utility for the AD5593
C++
5
star
88

AnalogRTCLibrary

MAX31331, MAX31334, MAX31328, MAX31341 and MAX31343 Arduino Drivers
C++
5
star
89

PrecisionToolbox

MATLAB toolbox for ADI precision data converter products
MATLAB
5
star
90

LabVIEW-Scripting-UI-Library

LabVIEW User Interface components providing basic text IDE features
LabVIEW
5
star
91

sensor-sw-pack

The Sensor Software package contains sensor class drivers and examples using various sensors such as ADXL362 Accelerometer, ADT7420 Temperature sensor, CN0397 Visible Light sensor and CN0357 Toxic Gas sensor. These applications use the ADICUP3029 hardware platform along with associated sensor shields.
HTML
5
star
92

aditof-sdk-rework

Analog Devices 3D ToF software suite (REWORK)
C++
4
star
93

SensorToolbox

MATLAB toolbox for ADI sensor products
MATLAB
4
star
94

gr-scopy

Scopy IIO blocks for GNU Radio
C++
4
star
95

libadrv9002-iio

Profile generation library for ADRV9002/3/4 transceivers
4
star
96

iio-osc-mingw

Scripts and patches to cross-compile the IIO Oscilloscope for MS Windows
Shell
4
star
97

adi_3dtof_adtf31xx

The ADI 3D ToF ADTF31xx is a ROS (Robot Operating System) package for working with ADI’s ADTF3175D ToF sensor.
C++
4
star
98

TMCL-Script-Examples

4
star
99

MAX32655_MAX30009

MAX32655 code to communicate with the MAX30009 through SPI
C
4
star
100

MAXREFDES1301

The MAXREFDES1301 reference design firmware enables quick evaluation of the MAX17852 and MAX17853 for 96V three-Wheeler BMS.
C++
4
star