|
CycloneBOOT 2.6.6
Secure Bootloader for ARM Cortex-M MCU
|
CycloneBOOT is a secure bootloader and firmware update library for STM32 and Microchip SAM microcontrollers (Arm Cortex-M). It receives, verifies, decrypts and installs firmware updates, checks the application before every start, and returns to the previous firmware when an update fails.
To try it on a board and integrate it into a project, see Getting Started.
| Mode | Components | Use it when | Demo folder |
|---|---|---|---|
| Dual-bank | Update library in the application; the MCU swaps flash banks | The MCU has dual-bank flash and no bootloader is wanted | iap_dual_bank |
| Hybrid | Update library in the application, bootloader at the flash base | Verified boot, fallback or external memory is needed, on any MCU | hybrid_app_bl |
| Standalone | Bootloader that receives the update itself (UART, TFTP, HTTP) | The application carries no update code, or the device must recover without a working application | standalone_bl |
Demo folders are demo/<vendor>/<board>/<mode>/. An overview of the boards and protocols is at https://www.oryx-embedded.com/resources/open-source-secure-bootloader-demos.html
| MCU family | Flash and MCU drivers |
|---|---|
| STM32 | C0, C5, F4, F7, G0, G4, H5, H7, H7RS, L4, L5, N6, U0, U3, U5, WB |
| Microchip SAM | D5x/E5x, E7x |
| External NOR flash | AT25SF128A, M29W128GL, MT25TL01G, MX25L512, MX25LM51245G, MX25UM51245G, MX66UW1G45G, N25Q512A |
A new MCU family needs a flash driver and an MCU driver, in src/cyclone_boot/drivers/.
CycloneBOOT Open, with the full source code, the demos and ImageBuilder, is available under the GNU General Public License v2.0 or later: https://www.oryx-embedded.com/download/CycloneBOOT.html
Commercial editions (Lite, Pro, Ultimate) are available for closed-source products: https://www.oryx-embedded.com/licensing/commercial/CycloneBOOT.html