User Tools

Site Tools


manual:microboot

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
manual:microboot [2011/11/08 11:06]
voorburg [Command Line Options]
manual:microboot [2018/07/04 18:23]
voorburg [Building Microboot from sources]
Line 1: Line 1:
-====== ​Microboot ​Utility ====== +====== ​MicroBoot ​Utility ======
-OpenBLT ships with a download ulitity called Microboot for MS Windows. Microboot is an easy-to-use program through which the user selects the file that is to be downloaded to the target. After that it handles all the communication with the microcontroller target that runs OpenBLT and provides status information to the user.+
  
-What is special about Microboot is the fact that it provides ​generic and and standalone ​user interface for  ​downloading software, which is independent of the communication interfaceThe communication interface controls ​the communication and actual data flow between ​the PC and the microcontroller ​and is located in a dynamic linked library (DLL) fileThis means that support for new communication ​interfaces can be added without having ​to modify ​the MicroBoot ​user interface.+MicroBoot ​is a graphical ​user interface ​(GUI) program ​for performing firmware updates on a microcontroller that runs the OpenBLT bootloaderIt is an easy-to-use program through which the user select ​the firmware file that is to be programmed on the microcontroller ​targetAfter 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 [[manual:​bootcommander|BootCommander]].
  
-This part of the user manual explains how to use the Microboot utilityFirst detailed overview of the user +MicroBoot was written in Object Pascal using the [[https://​www.lazarus-ide.org/​|Lazarus IDE]] and developed with cross-platform support in mind. It has been successfully tested on Windows PCLinux PC and even runs on a Raspberry PI.
-interface is providedfollowed by an explanation of the command line options that can be used when invoking the Microboot utility.+
  
-===== User Interface ===== +{{:​manual:​olimex_stm32p405_download_can.png?|}}
-The illustration below provides an overview of the Microboot user interface\\ +
  
-{{:manual:microboot_gui.png?​nolink&​500|}}+Under the hood, MicroBoot relies on the OpenBLT host library ([[manual:libopenblt|LibOpenBLT]]) for handling the actual communication with the bootloader.
  
-(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. The dialog titled "​Interface Settings"​ will appear. All the communication interfaces that were delivered with your version of Microboot will appear in the dropdown box. Select the one you intend to use. Next, click on the "​Options"​-button to further configure the selected communication interface. Your interface selection is stored in the MS Windows Register and therefore, this step only has to be done once.+{{:​manual:​microboot_architecture_75.png?|}}
  
-(2) Once the Microboot communication interface is configuredyou can start using it to download software to your microcontroller. Make sure your microcontroller ​is in a state that it can receive and program ​the new softwareTo start the software download, click the "​Browse"​-button ​and select the software file that you want to download to the microcontrollerThe download will start automatically after you selected the file. The text box on the user interface will change into a progress bar, allowing you to track the progress of your software download:+Thanks to the open source nature of the OpenBLT projectfull 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.
  
-{{:​manual:​microboot_session.png?​nolink&​400|}}+===== User interface ===== 
 + 
 +The illustration below provides an overview of the Microboot user interface\\ 
  
-(3) To close the Microboot utility, simply click the "​Cancel"​-button. If a download is in progress, it will automatically be interrupted for you before the Microboot utility is closed.+{{:​manual:​microboot_gui_explained.png?|}}
  
 +(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.
  
-===== Command Line Options ===== +(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 flashTo start the firmware update procedure, click the “Browse”-button and select the firmware file for your microcontrollerThe firmware update will start automatically after you selected the file. If necessaryMicroBoot will request ​you to reset your microcontroller to active ​the OpenBLT bootloaderFor most demo programsthis 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.
-There are several ways that you can start the Microboot utility ​using the supported command line optionsThis allows a flexible use of the utilityTo give some examplesMicroboot can be invoked directly from a Makefile or Batchfile allowing ​you to automatically download ​your software at the end of the build processAnother possibility is to create a shortcut in MS Windows, customized for the desired command line options, and once double-clicked,​ the software download will start right away with the correct communication ​interface. ​The following options can be used:+
  
-**-p** Invoking ​the Microboot utility with this option will display the "​Select file for download"​-dialogThis option simulates the "​Browse"​-button click.+(3) To close MicroBoot, simply click the “Exit”-buttonIf a firmware update is in progress, it will be automatically interrupted.
  
-**-i<​interface>​** Using this option, you can specify what communication interface to use. <​interface>​ should be replaced with the *.dll filename of the communication interface. Without this option, the Microboot utility will use the communication interface that was last used.+===== 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.
  
-**-l** When this option is specified, the Microboot ​utility will generated the logfile called "​log.txt"​ during the download process. The logfile contains details about the download process and is especially helpful when resolving download problems. The logfile is stored in the same directory as where "​Microboot.exe"​ is located.+===== Building ​Microboot ​from sources =====
  
-**<​filename>​** At the end of the command line you can specify ​the software file that should be downloadedThis way you don't have to manually specify this file every time you start the Microboot utilityWhen Microboot detects this <​filename>​ option, it will start the download right away for you using the specified file, +The free and open source [[https://​www.lazarus-ide.org/​|Lazarus IDE]] was used to develop MicroBoot. To install ​the Lazarus IDE, point your browser to its project page on [[https://​sourceforge.net/​projects/​lazarus/​files/​|SourceForge]]. Windows users can download ​the 32-bit installer from thereFor Linux users, DEB and RPM packages are providedHowever, it is recommended to install ​the version of the Lazarus IDE that is offered in the package repositories of your Linux distributionHere are the installation instructions for most popular Linux distributions:​
-allowing you to fully automate ​the download sequence.+
  
-Example command line: **Microboot.exe –l –iopenblt_uart.dll c:​\my_files\test_app.s19**+  ​* **Debian**: <​code>​sudo apt install make gdb fpc fpc-source lazarus</​code>​
  
 +  * **Ubuntu**: <​code>​sudo apt install make gdb fpc fpc-source lazarus lcl</​code>​
  
 +  * **Fedora**: <​code>​sudo dnf install make gdb fpc fpc-src lazarus</​code>​
  
 +  * **openSUSE**:​ <​code>​sudo zypper install make gdb fpc fpc-src lazarus</​code>​
  
 +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