Skip to content

seanstone/plutosdr-fw

 
 

Repository files navigation

PlutoSDR / ADRV9364 Firmware

Customized firmware for the PlutoSDR and ADRV9364-Z7020. Modified from stock firmware.

Instructions

  • Build
$ git submodule update --init --recursive
$ make patch
$ make defconfig
$ make
  • Upload firmware through MSD
$ make upload
  • Login
$ ssh root@pluto.local

Password: analog

  • Updating your local repository
 $ git pull
 $ git submodule update --init --recursive

Build Artifacts

  • 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

Customizations

Note that the firmware boots slower than the official firmware.

Frequency correction

# ad936x_ref_cal -e 860000000 /sys/bus/iio/devices/iio\:device1/

To read the xo correction value,

# cat /sys/bus/iio/devices/iio\:device1/xo_correction

Build SDK in Ubuntu Docker

Build Docker image:

$ make docker

Log in Docker image and build SDK:

$ make docker-run
[docker] $ make sdk

Install Xilinx Vivado

On ArchLinux,

$ sudo pacman -S ncurses5-compat-libs lib32-libpng12 xorg-xlsclients xorg-server-xvfb libxcrypt-compat

Set IP Address

For example,

# fw_setenv ipaddr 192.168.3.1
# fw_setenv ipaddr_host 192.168.3.10

Power off completely then power on.

out_voltage_sampling_frequency as well as in_voltage_sampling_frequency are not entirely independent, by default the both need to match unless adi,fdd-rx-rate-2tx-enable is set.

About

PlutoSDR Firmware

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 31.0%
  • Tcl 15.8%
  • Makefile 15.6%
  • HTML 14.5%
  • Verilog 8.4%
  • JavaScript 6.3%
  • Other 8.4%