Diversi Bootloader Open Source Adatti per MCU

Se il Bootloader venga utilizzato nel microcontrollore dipende dai requisiti di progettazione del prodotto. Se il prodotto deve essere aggiornato online o ha considerazioni sulla sicurezza dell’avvio, allora l’utilizzo di alcuni Bootloader open source potrebbe soddisfare meglio le esigenze. Presentiamo alcuni piccoli Bootloader adatti ai sistemi microcontrollore a chip singolo.

WolfBoot

wolfBoot
wolfBoot (Credito immagine: Github)

WolfBoot è un bootloader piccolo, facile da portare e open source, che supporta l’avvio sicuro e fornisce un meccanismo di aggiornamento del firmware sicuro. Dopo aver ricevuto e installato l’aggiornamento verificato, wolfBoot eseguirà il backup della copia dell’immagine del vecchio firmware che può funzionare normalmente. Se la nuova immagine installata non riesce ad avviarsi per vari motivi, wolfBoot caricherà il vecchio firmware con backup che può funzionare normalmente per garantire che il sistema non si blocchi.

Attualmente, wolfBoot ha eseguito il porting su più di una dozzina di piattaforme di microcontrollori a chip singolo, come il microcontrollore della serie cortex M di stm32.

OpenBLT

OpenBLT è anche un bootloader open source che afferma di funzionare su qualsiasi microcontrollore e utilizzare qualsiasi tipo di interfaccia di comunicazione per eseguire gli aggiornamenti software.

fetch.php?w=900&tok=b1cce5&media=manual:openblt architecture
Bootloader OpenBLT (Credito immagine: Feaser)

Il suo codice è principalmente diviso in tre parti:

  1. Funzione Bootloader personalizzabile. Il codice in questa sezione viene utilizzato per personalizzare il Bootloader in base alle esigenze specifiche del progetto. Come funzione principale, file di configurazione e funzione hook.
  2. Funzione di aggiornamento del caricamento indipendente. Questa parte è il nucleo del Bootloader. Durante l’aggiornamento del software, gestisce il trasferimento dei dati dal file del firmware alla memoria. La comunicazione tra l’host e il Bootloader segue il protocollo XCP 1.0, che è un protocollo di misurazione e calibrazione generale. Per i dettagli, fare riferimento al manuale pertinente.
  3. Funzionalità specifiche della piattaforma. Questa parte deve essere modificata quando si esegue il porting del Bootloader su un nuovo controller di piattaforma. Contiene driver per l’accesso a comunicazioni, timer e dispositivi di archiviazione.

RT-FOTA

RT-OTA è un framework Bootloader open source basato su STM32. RT-OTA è un bootloader di uso generale per i microcontrollori della serie STM32 lanciato ufficialmente da RT-Thread (natura commerciale, il codice sorgente non è divulgato) e RT-FOTA può essere inteso come la versione open source popolare del progetto RT-OTA.

poweron
Bootloader RT-FOTA (Credito immagine: Github)

Funzioni principali di RT-FOTA:

  • Supporta il software di confezionamento RBL ufficiale di RTT e lo utilizza nello stesso modo. Attualmente supporta funzioni tra cui CRC32, AES256, quicklz e fastlz;
  • Supporta la modalità riga di comando (componente FINSH) e il ripristino del firmware di fabbrica;
  • Supporta la partizione FLASH (componente FAL);
  • Supporta l’estensione della funzione (componente RTT);

MCUboot

MCUboot è un progetto Bootloader open source mantenuto dall’organizzazione JuulLabs-OSS, che afferma di consentire di implementare facilmente gli aggiornamenti di sicurezza delle applicazioni MCU (chi lo ha usato, ride senza dire una parola)

MCUboot Bootloader
MCUboot Bootloader

mcuboot è adatto per MCU a 32 bit, che non ha nulla a che fare con la piattaforma hardware MCU specifica. Attualmente, questo progetto è relativamente attivo ed è ancora in fase di sviluppo e aggiornamento. È stato adattato ai seguenti sistemi operativi:

  • Zephyr
  • Apache Mynewt
  • Apache NuttX
  • RIOT
  • Mbed OS

Condividi con:

Torna in alto

Instant Quote