Skip to content
 
 

Latest commit

 

History

3,087 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Adaboot

Adaboot is a fork of MCUboot for use in Adafruit supported devices. It is meant to bring the same bootloader behavior that exists on SAMD, nRF and other Adafruit devices to Zephyr based boards:

  • UF2 support on native USB boards
  • Double tap to enter the bootloader (all load methods)
  • A common partitioning scheme shared between CircuitPython, Arduino, WipperSnapper and other Adafruit bootloaders
    • Bootloader location
    • slot0 in executable NVM
    • slot1 if only wireless loading or if non-executable NVM is large
    • A filesystem partition
      • FATFS if the board has native USB
      • littlefs otherwise
    • A storage partition for zephyr data like BLE bonding keys
    • A "raw" partition for CircuitPython's raw nvm access
  • Prebuilt updater binaries
  • Shared LED status

Building the bootloader standalone

You can build just the bootloader from this repo, with one command, using the Adafruit fork of Zephyr (the same Zephyr CircuitPython's zephyr-cp port uses) -- no west manifest of your own required:

make workspace                     # one-time: fetches Adafruit Zephyr + HALs into deps/
make list                          # boards this fork can build
make build BOARD=nrf54l15dk        # build the bootloader for one board
make all                           # build every board

See docs/standalone-build.md for details, modes, signature defaults, and the other targets.

Package on PyPI Coverity Scan Build Status Build Status (Sim) Build Status (Mynewt) Build Status (Espressif) Publishing Status (imgtool) Build Status (Travis CI) Apache 2.0

This is MCUboot version 2.4.0

MCUboot is a secure bootloader for 32-bits microcontrollers. It defines a common infrastructure for the bootloader and the system flash layout on microcontroller systems, and provides a secure bootloader that enables easy software upgrade.

MCUboot is not dependent on any specific operating system and hardware and relies on hardware porting layers from the operating system it works with. Currently, MCUboot works with the following operating systems and SoCs:

RIOT is supported only as a boot target. We will accept any new port contributed by the community once it is good enough.

MCUboot How-tos

See the following pages for instructions on using MCUboot with different operating systems and SoCs:

There are also instructions for the Simulator.

Roadmap

The issues being planned and worked on are tracked using GitHub issues. To give your input, visit MCUboot GitHub Issues.

Source files

You can find additional documentation on the bootloader in the source files. For more information, use the following links:

  • boot/bootutil - The core of the bootloader itself.
  • boot/boot_serial - Support for serial upgrade within the bootloader itself.
  • boot/zephyr - Port of the bootloader to Zephyr.
  • boot/mynewt - Bootloader application for Apache Mynewt.
  • boot/nuttx - Bootloader application and port of MCUboot interfaces for Apache NuttX.
  • boot/mbed - Port of the bootloader to Mbed OS.
  • boot/espressif - Bootloader application and MCUboot port for Espressif SoCs.
  • boot/cypress - Bootloader application and MCUboot port for Cypress/Infineon SoCs.
  • imgtool - A tool to securely sign firmware images for booting by MCUboot.
  • sim - A bootloader simulator for testing and regression.

Joining the project

Developers are welcome!

Use the following links to join or see more about the project:

About

Fork of MCUBoot with friendly additions

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages