User Tools

Site Tools


manual:microboot

MicroBoot Utility

MicroBoot is a graphical user interface (GUI) program for performing firmware updates on a microcontroller that runs the OpenBLT bootloader. It is an easy-to-use program through which the user select the firmware file that is to be programmed on the microcontroller target. After that it handles all the communication with the microcontroller target and provides progress information to the user. For those that prefer a command line interface (CLI) program for handling firmware updates, there is BootCommander.

MicroBoot was written in Object Pascal using the Lazarus IDE and developed with cross-platform support in mind. It has been successfully tested on a Windows PC, Linux PC and even runs on a Raspberry PI.

Under the hood, MicroBoot relies on the OpenBLT host library (LibOpenBLT) for handling the actual communication with the bootloader.

Thanks to the open source nature of the OpenBLT project, full source code is available for the MicroBoot program. This makes it a great reference and starting point for those that would like to develop their own firmware update tool.

User interface

The illustration below provides an overview of the Microboot user interface.

(1) When starting MicroBoot for the first time, it is important to select and configure the communication interface. This is achieved by clicking the “Settings”-button, after which the dialog titled “Settings” appears. Start by selecting the desired communication transport layer from the “Interface selection”-dropdown box. After selecting the communication transport layer, the options on the dialog are updated accordingly, allowing you to further configure it.

(2) Once the communication interface is selected and configured in MicroBoot, you can start using it to perform firmware updates on your microcontroller, which has the OpenBLT bootloader in flash. To start the firmware update procedure, click the “Browse”-button and select the firmware file for your microcontroller. The firmware update will start automatically after you selected the file. If necessary, MicroBoot will request you to reset your microcontroller to active the OpenBLT bootloader. For most demo programs, this happens automatically and no user action is required. The progress bar on the user interface allows you to keep track of the firmware update progress.

(3) To close MicroBoot, simply click the “Exit”-button. If a firmware update is in progress, it will be automatically interrupted.

Command line options

It is possible to start MicroBoot from the command line. At this point the only command line argument that is supports is the firmware file itself, including its full absolute (or relative) path. When MicroBoot is started this way, it automatically starts the firmware update procedure using the specified firmware file. This feature enables the integration of MicroBoot into your integrated development environment (IDE), such that for example a firmware update is automatically started after building your firmware.

Building Microboot from sources

The free and open source Lazarus IDE was used to develop MicroBoot. To install the Lazarus IDE, point your browser to its project page on SourceForge.

For Linux users, DEB and RPM packages are provided. However, it is recommended to install the version of the Lazarus IDE that is offered in the package repositories of your Linux distribution. Here are the installation instructions for most popular Linux distributions:

  • Debian:
    sudo apt install make gdb fpc fpc-source lazarus
  • Ubuntu:
    sudo apt install make gdb fpc fpc-source lazarus lcl
  • Fedora:
    sudo dnf install make gdb fpc fpc-src lazarus
  • openSUSE:
    sudo zypper install make gdb fpc fpc-src lazarus

Note the starting OpenBLT version 1.14, the included Windows binaries are 64-bit (MicroBoot, BootCommand and LibOpenBLT). Windows users should therefore download and install the 64-bit Lazarus version. When using OpenBLT from before version 1.14, download and install the 32-bit Lazarus version instead.

To build MicroBoot, start the Lazarus IDE by selecting it from the start menu of your desktop environment. Next, select Project→Open from the program menu. Browse to the ./Host/Source/MicroBoot/ directory and select the MicroBoot.lpi file. Build, run and debug MicroBoot by simply clicking the green play-button in the toolbar or by selecting Run→Run from the program menu.

manual/microboot.txt · Last modified: 2022/02/10 11:23 by voorburg