usbboot is a command line program giving access to the Ronzi A3 resources. It allows to
- read/write the system flash and therefore
- backup and restore the system
- define system parameters like clock speeds, RAM layout etc.
- get the flash specs
- load programs into RAM
- execute programs in RAM
In order to make it easier for the user a QT GUI has been built around this program. The new version called QtUSBBoot allows to access all the usbboot facilities with a comfortable graphical user interface.
The Main Window
In order to start QtUSBBoot you must be root and the Ronzi A3 must be reset to system restore mode (push the reset button on the back of the device using a modified paper clip, while holding down the home button). QtUSBBoot will try to boot the Ronzi A3 with xburst_stage1 & 2 and it will then bring up the following window:
The debug facility in usbboot may be accessed using the "bug" button. The last 64 debugging messages collected since the "bug" button has been push last, will be displayed in a separate window:
The same way, information about the system flash as well as the current system parameters can be displayed with the RAM and SD card buttons in the menu bar. The system parameters can be defined in the config/current.cfg configuration file; the SD card parameters are read from the device itself.
Finally you may define backup and restore to/from individual system files using the check boxes and the Start backup and Start restore buttons. Default file names, addresses in flash as well as file sizes can be predefined in config/current.cfg as well. A progress bar shows backup/restore progress for each of the files in the list.
A typical cookbook example
The QtUSBBoot program should be installed in /opt/ICTP/micros/mips/xburst_tools/usbboot/QtUSBBoot. You can easily have a look at the GUI as well as all the code using the qtcreator which is installed in /usb/bin on my Ubuntu system. If you should clone the code and recompile it.
The binary QtUSBBoot will be found in ..../usbboot/QtUSBBoot-build-desktop/QtUSBBoot. You must be root to run this program.
I also uploaded a tar archive to gforge, which even contains the binary, compiled for a 64 bit Ubuntu system. You should untar it in the directory /opt/ICTP/micros/mips/xburst_tools. Have a look at it with tar jtvf QtUSBBoot.tar.bz2 before actually extracting it or extract it into /tmp for test. Make sure your Ronzi A3 is connected to the PC through USB and that it is in system reset mode (reset with home button pushed down).
Once QtUSBBoot is running, uncheck all the check boxes except of mbr-xboot. Then push "Start backup". You should find a new backup file in the subdirectory "ronzi_A3_backup. Use the "browse" button next to Backup directory text field to change the backup directory to any place in the file system you fancy. These changes are saved into an invisible file ".fileSettings.txt", which will be read back the next time you start QtUSBBoot. Should you want to start from scratch, please delete ".fileSettings.txt".
Then try the verify button. This will verify that the file contents corresponds to the contents of the flash. You can find the flash address as well as the size when pressing the "details" button, next to the mbr-xboot text field.
If all this works, you may want to check all the check boxes and make a complete backup of your system.
Once this is done, you may first play around a bit more and explore the program, before giving programming a try. I have added 3 Ronzi A3 system binaries, which modify slightly your Ronzi A3 behavior. These include mr-xboot-new, recovery and kernel + root file system binaries. Once you program these to your Ronzi A3 flash by defining these file names, checking the corresponding check boxes and pushing the "restore" button. If you check the verify check box, then each 0x400 x 512 bytes block will be read back and verified.