en | fr | it | de | es | cn

OpenBLT Add-on Modules

OpenBLT Add-ons

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.


Firmware Encryption

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:

  1. You make your firmware file available to your users. This gives them access to your proprietary program code.
  2. It enables third parties to program unwanted firmware on your product.

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:

  • A demo OpenBLT program for your specified microcontroller and compiler that supports the program code decryption.
  • A demo user program for your specified microcontroller and compiler that is configured to call the encryption command-line program automatically as a post-build step.
  • The encryption command-line program, including full source code.
  • Detailed user manual.

Improved Checksum

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:

  • A demo OpenBLT program for your specified microcontroller and compiler that supports verification of the improved checksum before starting the user program.
  • A demo user program for your specified microcontroller and compiler that has space reserved for the checksum table. It is configured to call the checksum generation command-line program automatically as a post-build step.
  • The checksum generation command-line program, including full source code.
  • Detailed user manual.

Master/Slave Gateway

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.

Master/slave gateway illustration

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:

  • A demo OpenBLT bootloader for your master microcontroller with the master/slave gateway integrated and configured for the communication type of your slave network.
  • A demo OpenBLT bootloader for your slave microcontroller configured for firmware updates via the communication type of your slave network.
  • Demo user programs for both the master and the slave for testing the firmware update procedure on both the master and the slave.
  • Detailed user manual.
Back to Top

About Feaser

Feaser is a provider of products and engineering services for microcontroller based embedded systems. We develop and maintain the open source OpenBLT bootloader and are known for creating innovative and customer oriented solutions that are delivered on time and within budget.

Contact Information

Feaser
Tristanstrasse 8
45473 Muelheim
Germany
Phone:
E-mail:
Web:
VAT ID:
+49 (0)151-22441258
info@feaser.com
https://www.feaser.com
DE292641469