Several Open Source Bootloaders Suitable for MCU

Table of Contents

MCUboot Bootloader

Whether the Bootloader is used in the microcontroller depends on the design requirements of the product. If the product needs to be upgraded online or has security boot considerations, then using some open source Bootloaders may be able to better meet the needs. Let us introduce some small Bootloaders suitable for single-chip microcomputer systems.

WolfBoot

wolfBoot
wolfBoot (Image Credit: Github)

WolfBoot is an open source, easy-to-port small bootloader, which supports secure boot and provides a secure firmware update mechanism. After receiving and installing the verified update, wolfBoot will back up the image copy of the old firmware that can work normally. If the newly installed image fails to start for various reasons, wolfBoot will load the backed up old firmware that can work normally to ensure that the system Won’t brick.

At present, wolfBoot has transplanted more than a dozen single-chip microcomputer platforms, such as the cortex M series single-chip microcomputer of stm32.

OpenBLT

OpenBLT is also an open source bootloader that claims to run on any microcontroller and use any type of communication interface to perform software updates.

fetch.php?w=900&tok=b1cce5&media=manual:openblt architecture
OpenBLT Bootloader (Image Credit: Feaser)

Its code is mainly divided into three parts:

  1. Customizable Bootloader function. The code in this section is used to customize the Bootloader to the specific needs of the project. Such as main function, configuration file and hook function.
  2. Independent loading update function. This part is the core of the Bootloader. During the update of the software, it handles the data transfer from the firmware file to the memory. The communication between the host and the Bootloader follows the XCP 1.0 protocol, which is a general measurement and calibration protocol. For details, please refer to the relevant manual .
  3. Platform-specific features. This part needs to be modified when porting the Bootloader to a new platform controller. It contains drivers for accessing communications, timers, and storage devices.

RT-FOTA

RT-OTA is an open source Bootloader framework based on STM32. RT-OTA is a general-purpose bootloader for STM32 series microcontrollers officially launched by RT-Thread (commercial nature, source code is not disclosed), and RT-FOTA can be understood as the folk open source version of the RT-OTA project.

poweron
RT-FOTA Bootloader (Image Credit: Github)

RT-FOTA main functions:

  • Support RTT’s official RBL packaging software, and use it in the same way. Currently supports functions including CRC32, AES256, quicklz and fastlz;
  • Support command line mode (FINSH component) and factory firmware recovery;
  • Support FLASH partition (FAL component);
  • Support function extension (RTT component);

MCUboot

MCUboot is an open source Bootloader project maintained by the JuulLabs-OSS organization, which claims to allow you to easily implement MCU application security upgrades (those who have used it, laugh without saying a word)

MCUboot Bootloader
MCUboot Bootloader

mcuboot is suitable for 32-bit MCU, which has nothing to do with the specific MCU hardware platform. At present, this project is relatively active and is still being developed and updated. It has been adapted to the following operating systems:

  • Zephyr
  • Apache Mynewt
  • Apache NuttX
  • RIOT
  • Mbed OS

Subscribe

Join our subscribers list to get monthly blog updates, technology news, case studies. We will never send spam, and you can unsubscribe at any time.

About Author

Picture of Aidan Taylor
Aidan Taylor

I am Aidan Taylor and I have over 10 years of experience in the field of PCB Reverse Engineering, PCB design and IC Unlock.

Need Help?

Don't hesitate - Get in touch today to find out how we can help take your project to the next level.

Scroll to Top
welldone pcb manufacturer

Start to Achieve Your PCB Project