Overview ¶
Overview ¶
OpenBootloader is an In-Application programming (IAP) bootloader. It is fully compatible with STM32 System Bootloader, so it supports the same supported interfaces and commands. It also uses the same Tools, such as STM32CubeProgrammer. OpenBootloader is hardware agnostic and deployed across all STM32 series.
OpenBootloader overall block diagram ¶
Features ¶
OpenBootloader is provided as an example that can be used by any customer who wants to build and customize his own Bootloader starting from a good basis. It supports all bootloader operations (Read, write, erase, jump…) on internal memories (Flash, SRAM, OTP…) or external memory, using one of the available communication interfaces (USART, I2C, SPI, USB-DFU…).
The Open Bootloader code can be loaded at any address in user Flash memory, provided that the necessary precautions are taken to avoid accidental erasure or corruption. For example, a write-protection mechanism can be used.
Overall architecture ¶
The main structural elements of a OpenBootloader code base are:
app_samples: OpenBootloader application entry point.Core: Open Bootloader core file.Interfaces: common and STM32 product interfacesModules: interfaces command files and memory management files
OpenBootloader folder structure ¶
OpenBootloader ressources ¶
OpenBootloader is executed by a Cortex-M processor in the non-secure domain and uses the following resources:
Non secure internal flash memory/SRAMInterruptsClocks and powerCommunication interfaces:GPIOsSystickIWDG
Links ¶
What is OpenBootloader? : What is OpenBootloader ?