Skip to content

Latest commit

 

History

History
122 lines (102 loc) · 6.31 KB

File metadata and controls

122 lines (102 loc) · 6.31 KB

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 mtools
 sudo apt-get install bc python3 cpio zip unzip rsync file wget
 git clone --recursive https://github.com/analogdevicesinc/plutosdr-fw.git
 cd plutosdr-fw
 export VIVADO_SETTINGS=/opt/Xilinx/2025.1/Vivado/settings64.sh
 make

Due to incompatibility between the AMD/Xilinx GCC toolchain supplied with Vivado/Vitis and Buildroot, this project uses the Buildroot external toolchain infrastructure with the Arm GNU toolchain (arm-none-linux-gnueabihf), which is downloaded and set up automatically during the build.

This toolchain is used to build: Buildroot, Linux and u-boot

  • Repository layout

    Submodule Comment
    linux ADI Linux kernel tree
    u-boot ADI u-boot tree
    hdl ADI HDL designs used to build the FPGA bitstream
    buildroot Buildroot tree used to build the toolchain and root filesystem
    br2-external Buildroot external tree with the ADI board files (board/adi/pluto) and defconfigs
  • Build targets

    The default build target is pluto. The Epiq Solutions Sidekiq Z2 is supported via the same parametrized build system:

 make TARGET=sidekiqz2
  • Updating your local repository
     git pull --recurse-submodules
  • Build Artifacts
     michael@HAL9000:~/devel/plutosdr-fw$ ls -AGhl build
     total 868M
     -rw-rw-r-- 1 michael   69 Aug  3 15:11 boot.bif
     -rw-rw-r-- 1 michael 625K Aug  3 15:11 boot.bin
     -rw-rw-r-- 1 michael 625K Aug  3 15:11 boot.dfu
     -rw-rw-r-- 1 michael 754K Aug  3 15:11 boot.frm
     -rw-rw-r-- 1 michael 778M Aug  3 15:12 legal-info-v0.39.tar.gz
     -rw-rw-r-- 1 michael 822K Aug  3 15:10 LICENSE.html
     -rw-rw-r-- 1 michael  14M Aug  3 15:11 pluto.dfu
     -rw-rw-r-- 1 michael  14M Aug  3 15:11 pluto.frm
     -rw-rw-r-- 1 michael   33 Aug  3 15:11 pluto.frm.md5
     -rw-rw-r-- 1 michael  14M Aug  3 15:11 pluto.itb
     -rw-rw-r-- 1 michael  28M Aug  3 15:11 plutosdr-fw-v0.39.zip
     -rw-rw-r-- 1 michael 682K Aug  3 15:11 plutosdr-jtag-bootstrap-v0.39.zip
     -rw-rw-r-- 1 michael 441K Aug  3 15:10 ps7_init.c
     -rw-rw-r-- 1 michael 442K Aug  3 15:10 ps7_init_gpl.c
     -rw-rw-r-- 1 michael 4,2K Aug  3 15:10 ps7_init_gpl.h
     -rw-rw-r-- 1 michael 3,6K Aug  3 15:10 ps7_init.h
     -rw-rw-r-- 1 michael 2,4M Aug  3 15:10 ps7_init.html
     -rw-rw-r-- 1 michael  31K Aug  3 15:10 ps7_init.tcl
     -rw-r--r-- 1 michael 8,3M Aug  3 15:10 rootfs.cpio.gz
     drwxrwxr-x 2 michael 4,0K Aug  3 15:12 sbom
     drwxrwxr-x 6 michael 4,0K Aug  3 15:11 sdk
     -rw-rw-r-- 1 michael 943K Aug  3 15:10 system_top.bit
     -rw-rw-r-- 1 michael 737K Aug  3 15:10 system_top.xsa
     -rwxrwxr-x 1 michael 602K Aug  3 15:11 u-boot.elf
     -rw-rw---- 1 michael 128K Aug  3 15:11 uboot-env.bin
     -rw-rw---- 1 michael 129K Aug  3 15:11 uboot-env.dfu
     -rw-rw-r-- 1 michael 6,6K Aug  3 15:11 uboot-env.txt
     -rwxrwxr-x 1 michael 4,7M Aug  3 15:09 zImage
     -rw-rw-r-- 1 michael  22K Aug  3 15:10 zynq-pluto-sdr.dtb
     -rw-rw-r-- 1 michael  22K Aug  3 15:10 zynq-pluto-sdr-revb.dtb
     -rw-rw-r-- 1 michael  24K Aug  3 15:10 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 containing all of the files above
    plutosdr-jtag-bootstrap-vX.XX.zip ZIP archive containing u-boot and Vivado TCL used for JTAG 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
    sbom Software Bill of Materials (CycloneDX) for buildroot, linux, u-boot, hdl and the full firmware
    sdk Vivado/Vitis Build folder including the FSBL
    system_top.bit FPGA Bitstream (from XSA)
    system_top.xsa 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 from 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