Vários bootloaders de código aberto adequados para MCU

O uso do Bootloader no microcontrolador depende dos requisitos de design do produto. Se o produto precisar ser atualizado online ou tiver considerações de inicialização de segurança, o uso de alguns Bootloaders de código aberto pode atender melhor às necessidades. Vamos apresentar alguns pequenos Bootloaders adequados para sistemas de microcomputadores de chip único.

WolfBoot

wolfBoot
wolfBoot (Crédito da imagem: Github)

O WolfBoot é um pequeno bootloader de código aberto e fácil de portar, que suporta inicialização segura e fornece um mecanismo seguro de atualização de firmware. Após receber e instalar a atualização verificada, o wolfBoot fará backup da cópia da imagem do firmware antigo que funciona normalmente. Se a imagem recém-instalada não iniciar por vários motivos, o wolfBoot carregará o firmware antigo armazenado em backup que funciona normalmente para garantir que o sistema não trave.

Atualmente, o wolfBoot já foi transplantado para mais de uma dúzia de plataformas de microcomputadores de chip único, como o microcomputador de chip único da série cortex M da stm32.

OpenBLT

O OpenBLT também é um bootloader de código aberto que afirma funcionar em qualquer microcontrolador e usar qualquer tipo de interface de comunicação para realizar atualizações de software.

fetch.php?w=900&tok=b1cce5&media=manual:openblt architecture
Bootloader OpenBLT (Crédito da imagem: Feaser)

Seu código é dividido principalmente em três partes:

  1. Função Bootloader personalizável. O código nesta seção é usado para personalizar o Bootloader de acordo com as necessidades específicas do projeto. Tais como função principal, arquivo de configuração e função hook.
  2. Função de atualização de carregamento independente. Esta parte é o núcleo do Bootloader. Durante a atualização do software, ela lida com a transferência de dados do arquivo de firmware para a memória. A comunicação entre o host e o Bootloader segue o protocolo XCP 1.0, que é um protocolo geral de medição e calibração. Para obter detalhes, consulte o manual relevante.
  3. Recursos específicos da plataforma. Esta parte precisa ser modificada ao portar o Bootloader para um novo controlador de plataforma. Ela contém drivers para acessar comunicações, temporizadores e dispositivos de armazenamento.

RT-FOTA

RT-OTA é uma estrutura de bootloader de código aberto baseada em STM32. RT-OTA é um bootloader de uso geral para microcontroladores da série STM32 lançado oficialmente pela RT-Thread (de natureza comercial, o código-fonte não é divulgado), e RT-FOTA pode ser entendido como a versão popular de código aberto do projeto RT-OTA.

poweron
Bootloader RT-FOTA (Crédito da imagem: Github)

Principais funções do RT-FOTA:

  • Suporte ao software oficial de empacotamento RBL da RTT e uso da mesma forma. Atualmente suporta funções incluindo CRC32, AES256, quicklz e fastlz;
  • Suporte ao modo de linha de comando (componente FINSH) e recuperação do firmware de fábrica;
  • Suporte à partição FLASH (componente FAL);
  • Suporta extensão de função (componente RTT);

Bootloader da MCU

O MCUboot é um projeto Bootloader de código aberto mantido pela organização JuulLabs-OSS, que afirma permitir a fácil implementação de atualizações de segurança de aplicativos MCU (aqueles que já o utilizaram, riem sem dizer uma palavra).

MCUboot Bootloader
MCUboot Bootloader

O mcuboot é adequado para MCU de 32 bits, o que não tem nada a ver com a plataforma de hardware específica do MCU. Atualmente, este projeto está relativamente ativo e ainda está sendo desenvolvido e atualizado. Ele foi adaptado para os seguintes sistemas operacionais:

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

Compartilhar em:

Rolar para cima

Instant Quote