Open-Source Secure Bootloader Demos
CycloneBOOT on STM32

Discover how our CycloneBOOT solution performs across different evaluation boards. Below, you’ll find an overview of the firmware update scenarios and available demos, including the protocols used for seamless firmware delivery.

Supported Firmware Update Scenarios

  • In-Application Programming (IAP)

    In-Application Programming IAP

    With In-Application Programming (IAP) scenario, firmware updates are handled entirely by the CycloneBOOT Update Library, without the presence of a dedicated bootloader. This mode is supported only on dual-bank microcontrollers, where the internal flash memory is divided into two independent banks. During an update, the running application installs the new firmware image into the inactive bank while execution continues from the active bank. Before rebooting, the update library configures the MCU to select the newly programmed bank as the primary boot bank. On reset, execution seamlessly switches to the updated firmware. This approach minimizes system complexity and boot time, while providing update capability on platforms that support bank swapping.

  • Hybrid Application / Bootloader

    Hybrid Application Bootloader enabling Secure Boot

    This Hybrid mode combines the CycloneBOOT Update Library with the CycloneBOOT Bootloader to form a cooperative update mechanism. In this configuration, the user application is responsible for downloading and validating the firmware image using the update library, and storing it in a designated download slot. Once the update is ready, control is transferred to the bootloader during the next reboot. The bootloader then performs final integrity checks, installs the image into its execution slot, and starts the updated firmware. This mode cleanly separates update acquisition from update installation, making it suited to systems such as ones supporting external storage devices.

    Note: This mode enables Secure Boot features and advanced functionality, such as fallback support or a multi-stage bootloader.

  • Standalone Bootloader

    Standalone Bootloader

    The CycloneBOOT Standalone Bootloader is an independent, self-contained bootloader that manages the entire firmware update lifecycle without relying on the user application. Unlike Hybrid mode, all communication protocols, image validation, version control, and update logic are implemented directly within the bootloader itself. When a new firmware image is received, the standalone bootloader processes the update, performs authentication and compatibility checks, and installs the validated image into the flash memory. After the installation is complete, the bootloader resumes its normal startup sequence and launches the updated user application.

    Note: This solution also applies to MCUs supporting program execution from an external memory (EXecute-in-Place - XiP)

Available Demos by Evaluation Board and Scenario

The table below summarizes our available demos, organized by evaluation board and scenario (IAP and/or Hybrid and/or Standalone). It also highlights the protocol used for fetching new firmware updates.

= Secure Boot features activated by default
VendorEvaluation BoardIn-Application
Programming
Demo Project
Hybrid App /
bootloader
Demo Project
Standalone
Bootloader
Demo Project
STMicroelectronicsNUCLEO-F429ZIHTTP Server--
STMicroelectronicsSTM32429I-EVALHTTP ServerHTTP Server-
STMicroelectronicsNUCLEO-F767ZIHTTP Server--
STMicroelectronicsSTMF769I-DISCOHTTP ServerHTTP Server-
STMicroelectronicsSTMF769I-EVALHTTP ServerHTTP Server,
MQTT Client
-
STMicroelectronicsNUCLEO-H563ZI NEWHTTP Server,
SFTP Server
HTTP Server-
STMicroelectronicsSTM32H573I-DISCO NEW-UART/Y-Modem
USB-CDC
HTTPS Client
-
STMicroelectronicsNUCLEO-H743ZI2HTTP ServerHTTP Server-
STMicroelectronicsSTM32H753I-EVAL2HTTP ServerHTTP Server-
STMicroelectronicsSTM32H750B-DISCO--UART/Y-Modem
STMicroelectronicsNUCLEO-H7A3ZI-QUART/Y-Modem--
STMicroelectronicsNUCLEO-L476RG-UART/Y-Modem-
STMicroelectronicsNUCLEO-L496ZGUART/Y-Modem--
STMicroelectronicsNUCLEO-U575-ZI-QUART/Y-Modem--
MicrochipSAME54-XPlained-PROHTTP ServerHTTP Server-

Toolchains Used for Demonstration Projects

Our demonstration projects typically utilize the following toolchains: STM32CubeIDE, Microchip Studio, Makefile, CMake, or KEIL MDK-ARM. Moving forward, we plan to standardize the use of CMake across all projects.

Need a Custom Demo?

If you’d like to see a demo using your preferred toolchain, or if you need support for a different evaluation board, MCU part number, protocol or scenario, just let us know. We can tailor the demo to your needs!