L'utilisation du bootloader dans le microcontrôleur dépend des exigences de conception du produit. Si le produit doit être mis à niveau en ligne ou si des considérations de sécurité au démarrage doivent être prises en compte, l'utilisation de certains bootloaders open source peut mieux répondre aux besoins. Nous vous présentons ici quelques petits bootloaders adaptés aux systèmes micro-informatiques à puce unique.
WolfBoot
WolfBoot est un petit chargeur d'amorçage open source facile à porter, qui prend en charge le démarrage sécurisé et fournit un mécanisme de mise à jour sécurisée du micrologiciel. Après avoir reçu et installé la mise à jour vérifiée, wolfBoot sauvegarde la copie de l'image de l'ancien micrologiciel qui fonctionne normalement. Si la nouvelle image installée ne démarre pas pour diverses raisons, wolfBoot charge l'ancien micrologiciel sauvegardé qui fonctionne normalement afin de garantir que le système ne se bloque pas.
À l'heure actuelle, wolfBoot a transplanté plus d'une douzaine de plateformes micro-ordinateurs à puce unique, telles que les micro-ordinateurs à puce unique de la série cortex M de stm32.
OpenBLT
OpenBLT est également un bootloader open source qui prétend fonctionner sur n'importe quel microcontrôleur et utiliser n'importe quel type d'interface de communication pour effectuer des mises à jour logicielles.

Son code est principalement divisé en trois parties :
- Fonction Bootloader personnalisable. Le code de cette section sert à personnaliser le Bootloader en fonction des besoins spécifiques du projet. Il s'agit notamment de la fonction principale, du fichier de configuration et de la fonction hook.
- Fonction de mise à jour indépendante du chargement. Cette partie est le cœur du Bootloader. Pendant la mise à jour du logiciel, elle gère le transfert des données du fichier du micrologiciel vers la mémoire. La communication entre l'hôte et le Bootloader suit le protocole XCP 1.0, qui est un protocole général de mesure et d'étalonnage. Pour plus de détails, veuillez vous reporter au manuel correspondant.
- Fonctionnalités spécifiques à la plate-forme. Cette partie doit être modifiée lors du portage du Bootloader vers un nouveau contrôleur de plate-forme. Elle contient des pilotes pour accéder aux communications, aux minuteries et aux périphériques de stockage.
RT-FOTA
RT-OTA est un framework Bootloader open source basé sur STM32. RT-OTA est un bootloader polyvalent pour les microcontrôleurs de la série STM32 officiellement lancé par RT-Thread (de nature commerciale, le code source n'est pas divulgué), et RT-FOTA peut être considéré comme la version open source populaire du projet RT-OTA.

Principales fonctions de RT-FOTA :
- Prise en charge du logiciel officiel de packaging RBL de RTT, utilisé de la même manière. Prend actuellement en charge les fonctions CRC32, AES256, quicklz et fastlz ;
- Prise en charge du mode ligne de commande (composant FINSH) et de la récupération du micrologiciel d'usine ;
- Prise en charge de la partition FLASH (composant FAL) ;
- Prise en charge de l'extension de fonction (composant RTT) ;
Chargeur d'amorçage du microcontrôleur
MCUboot est un projet de bootloader open source géré par l'organisation JuulLabs-OSS, qui prétend vous permettre de mettre en œuvre facilement des mises à niveau de sécurité pour les applications MCU (ceux qui l'ont utilisé en rient sans rien dire).

mcuboot est adapté aux microcontrôleurs 32 bits, ce qui n'a rien à voir avec la plate-forme matérielle spécifique du microcontrôleur. À l'heure actuelle, ce projet est relativement actif et continue d'être développé et mis à jour. Il a été adapté aux systèmes d'exploitation suivants :
- Zephyr
- Apache Mynewt
- Apache NuttX
- RIOT
- Mbed OS




