Navigation
External Links
Donate
Show your appreciation for OpenBLT
and support future development by
donating.
External Links
Donate
Show your appreciation for OpenBLT
and support future development by
donating.
The LibMicroBLT library encompasses all the functionality needed to perform a firmware update on another microcontroller, running the OpenBLT bootloader. In essence, LibMicroBLT is a microcontroller optimized version of LibOpenBLT. The latter one was designed for PCs and embedded Linux devices.
LibMicroBLT assumes that the main controller features a file system for the storing firmware files. For example on an SD card, USB stick or a flash memory chip. Internally, the library uses the FatFs software component for accessing the file system:
You are free to choose how the firmware files end up on the file system. A few ideas:
LibMicroBLT is written in the C programming language (C99) with MISRA compliance in mind. Thanks to its permissive MIT license, you are free to integrate and distribute the library in your commercial closed source firmware.
Combining LibMicroBLT with OpenBLT's Master/Slave Gateway add-on module opens the path to all sorts of nifty system architectures for performing firmware updates. For example:
The main controller, running LibMicroBLT, could perform firmware updates on all attached nodes. In this system architecture, you would just need to integrate the Master/Slave Gateway add-on module with the OpenBLT bootloaders on Node A1 and Node B1.
To get started with LibMicroBLT, it is recommended to download the latest stable release from the releases page. Next, read through the getting started documentation in the user manual.
The online user manual is located at the following location:
LibMicroBLT itself is not included in the OpenBLT download package. Development of LibMicroBLT takes place at GitHub. Feel free to contribute by submitting issues and pull requests.
Make sure to update the submodules after cloning the GIT repository, because LibMicroBLT makes use of a few submodules:
git clone https://github.com/feaser/libmicroblt.git git submodule update --init