Ob der Bootloader im Mikrocontroller verwendet wird, hängt von den Designanforderungen des Produkts ab. Wenn das Produkt online aktualisiert werden muss oder Sicherheitsaspekte beim Booten zu berücksichtigen sind, können einige Open-Source-Bootloader die Anforderungen möglicherweise besser erfüllen. Wir stellen Ihnen einige kleine Bootloader vor, die für Einchip-Mikrocomputersysteme geeignet sind.
WolfBoot
WolfBoot ist ein quelloffener, leicht zu portierender kleiner Bootloader, der Secure Boot unterstützt und einen sicheren Mechanismus für Firmware-Updates bietet. Nach dem Empfang und der Installation des verifizierten Updates sichert wolfBoot die Image-Kopie der alten Firmware, die normal funktioniert. Wenn das neu installierte Image aus verschiedenen Gründen nicht startet, lädt wolfBoot die gesicherte alte Firmware, die normal funktioniert, um sicherzustellen, dass das System nicht unbrauchbar wird.
Derzeit hat wolfBoot mehr als ein Dutzend Einchip-Mikrocomputerplattformen transplantiert, darunter die Einchip-Mikrocomputer der Cortex-M-Serie von stm32.
OpenBLT
OpenBLT ist ebenfalls ein Open-Source-Bootloader, der laut Herstellerangaben auf jedem Mikrocontroller läuft und jede Art von Kommunikationsschnittstelle für Software-Updates nutzt.

Der Code ist hauptsächlich in drei Teile gegliedert:
- Anpassbare Bootloader-Funktion. Der Code in diesem Abschnitt dient dazu, den Bootloader an die spezifischen Anforderungen des Projekts anzupassen. Dazu gehören die Hauptfunktion, die Konfigurationsdatei und die Hook-Funktion.
- Unabhängige Lade-Update-Funktion. Dieser Teil ist der Kern des Bootloaders. Während der Aktualisierung der Software übernimmt er die Datenübertragung von der Firmware-Datei zum Speicher. Die Kommunikation zwischen dem Host und dem Bootloader erfolgt nach dem XCP 1.0-Protokoll, einem allgemeinen Mess- und Kalibrierungsprotokoll. Einzelheiten finden Sie im entsprechenden Handbuch.
- Plattformspezifische Funktionen. Dieser Teil muss geändert werden, wenn der Bootloader auf einen neuen Plattformcontroller portiert wird. Er enthält Treiber für den Zugriff auf Kommunikations-, Timer- und Speichergeräte.
RT-FOTA
RT-OTA ist ein Open-Source-Bootloader-Framework auf Basis von STM32. RT-OTA ist ein universeller Bootloader für Mikrocontroller der STM32-Serie, der offiziell von RT-Thread (kommerzieller Charakter, Quellcode wird nicht offengelegt) eingeführt wurde. RT-FOTA kann als die volkstümliche Open-Source-Version des RT-OTA-Projekts verstanden werden.

RT-FOTA Hauptfunktionen:
- Unterstützt die offizielle RBL-Paketierungssoftware von RTT und verwendet sie auf die gleiche Weise. Unterstützt derzeit Funktionen wie CRC32, AES256, quicklz und fastlz.
- Unterstützt den Befehlszeilenmodus (FINSH-Komponente) und die Wiederherstellung der werkseitigen Firmware;
- Unterstützt FLASH-Partition (FAL-Komponente);
- Unterstützt Funktionserweiterung (RTT-Komponente);
MCU-Bootloader
MCUboot ist ein Open-Source-Bootloader-Projekt, das von der Organisation JuulLabs-OSS gepflegt wird und angeblich die einfache Implementierung von Sicherheitsupgrades für MCU-Anwendungen ermöglicht (diejenigen, die es verwendet haben, lachen, ohne ein Wort zu sagen).

mcuboot eignet sich für 32-Bit-MCUs, unabhängig von der spezifischen MCU-Hardwareplattform. Derzeit ist dieses Projekt relativ aktiv und wird weiterhin entwickelt und aktualisiert. Es wurde an die folgenden Betriebssysteme angepasst:
- Zephyr
- Apache Mynewt
- Apache NuttX
- RIOT
- Mbed OS




