User Tools

Site Tools


howto:build

How to build and flash the rad1o firmware from git

This howto explains how to get the firmware from git, setup the build environment and build and flash the firmware to the rad1o.

An easier (but not as cutting-edge) alternative is to update from a release.

Requirements

  • a rad1o
  • a computer running something similar to Linux
  • git

Tasks

Preparation and Build

  • clone the rad1o firmware repository from git
    git clone https://github.com/rad1o/f1rmware.git
  • If you did that already some time ago, get the latest changes:
    cd f1rmware
    git checkout master
    git pull
  • install the following build requirments, see doc/build.md for details how to install on your system:
    • arm-gcc
    • python-yaml
    • xxd
    • cmake
  • setup the hackrf and libopencm3 submodules:
    git submodule init
    git submodule update
  • build everything
    make
    cd smartflash
    make build
    make gather
  • if that is successfull, all firmware files end up in smartflash/IMG.

Flash

There are several methods to get the f1rmware on the rad1o. When the rad1o is booted in MSC mode (hold UP while turning it on), it appears to the computer as USB mass storage with a small FAT filesystem. You can either manually copy the files to the rad1o or use the smartflash FLASHgui to do it automatically.

You can also use the FLASHgui to do a complete reinstall of the rad1o, this is useful if the filesystem is broken.

Easy Method: Manual copy

  • Boot the rad1o in MSC-mode (joystick UP while you turn it on)
  • mount the device if your system does not do it automatically (your path will probably be different)
    mount /dev/sdb /media/ABCD-1234
  • copy the firmware files to the mounted device manually (your path will probably be different):
    cp smartflash/IMG/* /media/ABCD-1234

Advanced Method: With FLASHgui

  • install all requirements for FLASHgui, see smartflash/README.md for details:
    • mtools
    • perl-curses
    • patched dfu-util (this is only required for the factory reset method)
    • dosfstools (this is only required for the factory reset method)
  • install the udev-rules
    cp smartflash/90-rad1o-flash.rules /etc/udev/rules.d
  • start the smartflash FLASHgui app:
    cd smartflash
    make run
  • connect a rad1o via USB to the computer and start it in MSC mode (hold UP and switch on).

FLASHgui shows a line for every connected rad1o. During the transfer, it says (running)) and the green LED next to the USB port on the rad1o will blink. After the transfer is finished, the state changes to (done). After a few more seconds, the rad1o should restart and FLASHgui will report (gone).

Recovery Method: factory reset with FLASHgui

you can also use FLASHgui to do a complete reinstall of a rad1o, including the bootloader, CPLD and all firmware files.

This will also delete your nick, highscores and any other personal info on the rad1o
  • prepare and run FLASHgui like above
  • connect a rad1o via USB to the computer and start it in DFU mode (hold DOWN and switch on).

This will first reflash the bootloader and CPLD and then write a new filesystem image to the rad1o. The led next to the headset port on the rad1o will blink red when the process is finished.

Result

  • a rad1o running the latest firmware from git
howto/build.txt · Last modified: 2015/09/09 21:15 by 9r