This page lists the currently available OpenBLT add-on modules. They contain functionality we derived from commonly requested bootloader customizations. Note that these add-on modules are not released under the GNU GPL license and are therefore only available in combination with a commercially licensed version of OpenBLT.
By using OpenBLT you give your users the possibility to update firmware on your product. Depending on your application, this can have potential negative side effects such as:
The firmware encryption module negates these unwanted side effects. The program code in your firmware file is encrypted using a unique 256-bit AES cryptography key. After the bootloader receives the program code during a firmware update, the program code is decrypted right before programming it in the non-volatile memory of the microcontroller.
The actual encryption is performed by a command-line program. It can be manually invoked or called as an automated post-build step, after compiling and linking the source code of your software program.
The delivery of this add-on module contains:
We offer an improved checksum module that uses a CRC-16 checksum over the entire program code. With this module, you can be certain that the bootloader only starts your user program if all bits of your program code are correct in flash memory. Thereby preventing your user program from potentially harming your system if: someone tampered with your microcontroller, a flash memory failure occurred, or the flash contents were accidentally changed.
A command-line program is included for calculating the checksum information over the entire program code of your firmware. It then patches the checksum information into the firmware file. It can be manually invoked or called as an automated post-build step, after compiling and linking the source code of your software program.
The delivery of this add-on module contains:
In a system with a master microcontroller and one or more slave microcontrollers, it is typically only the master that has an open communication line to the outside world. When running the OpenBLT bootloader on the master, firmware updates can be made on the master, but how do you perform a firmware update on the slaves? The master/slave gateway add-on module is the answer to this question. This add-on module adds a gateway to the OpenBLT bootloader running on the master, allowing firmware updates to be made on the slaves through this gateway.
When starting a firmware update with MicroBoot or BootCommander, you can configure a connection-mode parameter. This is an 8-bit value that gets sent while connecting to the bootloader. When the OpenBLT bootloader on the master receives a connection request, the value of the connection-mode parameter is evaluated. If it is zero, then firmware updates continue as usual on the master. If it is a value greater than zero, the gateway is activated and the connection request is passed on to the master/slave network, where the request is detected by the OpenBLT bootloader running on the slave. With this solution, it is possible to select up to 255 individual slaves for a firmware update.
The master/slave gateway module contains a separation layer between the high-level gateway functionality and the low-level communication. This allows the gateway to work with any master/slave network. It has been successfully tested with RS232, CAN, SPI, I2C and RS485.
The delivery of this add-on module contains: