User Tools

Site Tools


howto:build

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revision Both sides next revision
howto:build [2015/08/20 13:06]
iggy created
howto:build [2015/08/22 13:28]
iggy [Preparation and Build]
Line 12: Line 12:
  
 ===== Tasks ===== ===== Tasks =====
 +
 +==== Preparation and Build ====
  
   * clone the rad1o firmware repository from git   * clone the rad1o firmware repository from git
 +
  
     git clone https://​github.com/​rad1o/​f1rmware.git     git clone https://​github.com/​rad1o/​f1rmware.git
  
   * If you did that already some time ago, get the latest changes:   * If you did that already some time ago, get the latest changes:
 +
  
     cd f1rmware     cd f1rmware
Line 23: Line 27:
     git pull     git pull
  
-  * install the following build requirments,​ see ''​doc/​build.md''​ for details how to install on your system:+  * install the following build requirments,​ see ''​[[https://​github.com/​rad1o/​f1rmware/​blob/​master/​doc/​build.md|doc/​build.md]]''​ for details how to install on your system:
     * arm-gcc     * arm-gcc
     * python-yaml     * python-yaml
     * xxd     * xxd
-    * dfu-util 
     * cmake     * cmake
  
   * setup the ''​hackrf''​ and ''​libopencm3''​ submodules:   * setup the ''​hackrf''​ and ''​libopencm3''​ submodules:
 +
  
     git submodule init     git submodule init
Line 36: Line 40:
  
   * build everything   * build everything
 +
  
     make     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):
  
-  * if that is successfull,​ all firmware files end up in ''​smartflash/​IMG''​. Boot the rad1o in MSC-mode (joystick UP while you turn it on) and 
-    * either copy them manually (your path will be different) 
  
     cp smartflash/​IMG/​* /​media/​ABCD-1234     cp smartflash/​IMG/​* /​media/​ABCD-1234
  
-    ​or have the FLASHgui ​app running to automatically write the files to any rad1o connected in MSC-mode+=== Advanced Method: With FLASHgui === 
 + 
 +  ​install all requirements for FLASHgui, see ''​[[https://​github.com/​rad1o/​f1rmware/​blob/​master/​smartflash/​README.md|smartflash/​README.md]]''​ for details: 
 +    * mtools 
 +    * perl-curses 
 +    * [[https://​github.com/​rad1o/​dfu-util|patched dfu-util]] (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     cd smartflash
     make run     make run
  
-  * you can also use FLASHgui to do a complete reinstall of a rad1o, including the bootloader, CPLD and all firmware files. ​For thishold the joystick ​DOWN during powerup. The rad1o will blink red when done.+  * 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. ​ 
 + 
 +<note warning>​This will also delete your nickhighscores and any other personal info on the rad1o</​note>​ 
 + 
 +  * 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 ===== ===== Result =====
  
   * a rad1o running the latest firmware from git   * a rad1o running the latest firmware from git
howto/build.txt · Last modified: 2015/09/09 21:15 by 9r