• 正文
    • MCUboot
    • OpenBLT
  • 相關推薦
申請入駐 產(chǎn)業(yè)圖譜

幾款適用單片機的Bootloader

03/10 09:40
1980
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

微信公眾號 | strongerHuang

隨著物聯(lián)網(wǎng)的發(fā)展,加上MCU外設/功能越來越豐富、存儲資源也越來越多,在線更新MCU固件成了很多嵌入式產(chǎn)品的重要功能。

今天分享幾款適用于MCU的Bootloader,看看你們用過哪些?

MCUboot

MCUboot顧名思義,針對MCU的boot,它是一款適用于 32 位微控制器的安全引導加載程序(軟件框架)。而且,這款MCUboot開源、并遵循Apache License 2.0開源協(xié)議。

開源地址:https://github.com/mcu-tools/mcuboot


MCUBoot是一個開源的、跨平臺的Bootloader,支持多種ARM Cortex-M系列單片機。MCUboot?提供了安全的固件更新機制,支持加密和簽名驗證,適用于物聯(lián)網(wǎng)設備。它不依賴于任何特定的操作系統(tǒng)和硬件,主要跟芯片的Flash結構密切相關。

MCUboot主要特點:完全開源多種升級模式對固件安全校驗可異?;謴?/p>

官方網(wǎng)站:http://www.trustedfirmware.org/

官方提供了許多文檔資料,我之前也給大家分享了MCUboot的幾種模式,感興趣的同學可以點擊進去看下。

OpenBLT

OpenBLT 是是一款適用于常見 8 位、16 位、32 位等眾多單片機的Bootloaderr。

默認情況下,它支持RS232、CAN、USB、TCP/IP、Modbus RTU等單片機常見通信協(xié)議。并附帶易于使用的 MicroBoot PC 工具,用于啟動和監(jiān)控固件更新。同時,還支持直接從 SD 卡執(zhí)行固件更新。

開源地址:https://github.com/feaser/openblt

或https://sourceforge.net/projects/openblt/

OpenBLT特點:

開源免費,提供完整源代碼

包括用戶友好的 PC 下載實用程序

易于移植到不同的微控制器

ROM 占用空間小

高度可配置

有序且文檔齊全的代碼

支持從本地連接的存儲(如 SD 卡)進行軟件更新

可擴展以支持額外的存儲器,例如串行 EEPROM 或外部Flash

支持常見的通信接口,如 RS232、CAN、TCP/IP、USB 和 Modbus RTU

可與 STM32、XMC4、XCM1、Tricore、HCS12 和其他基于 ARM Cortex 的微控制器配合使用

OpenBLT 遵循?GNU GPL V3 開源協(xié)議。

官方給了一個OpenBLT的介紹視頻,大家可以觀看下:

?Tiny BootloaderTiny Bootloader顧名思義,它是一款微?。ㄝp量級)的Bootloader,適合于8位(AVR)、32位單片機等資源有限的單片機,只需要2KB ROM即可。

開源地址:https://github.com/jaz303/tiny_bootloader

Tiny Bootloader支持UARTSPI、I2C等常見的通信。源碼其實挺簡單,定義了一些常見的讀寫、頁大小等。

Tiny Bootloader軟件框架如下:

// MACRO DEFINITIONS HERE
char?bootloader_requested()?{??// check if bootloader has been requested (e.g. button press, GPIO low, etc)??return?0;}
void?bootloader_init()?{??// get ready to enter bootloader; enable comms channel etc.}
#include?"tiny_bootloader.h"#define?TINY_BOOTLOADER_IMPL#include?"tiny_bootloader.h"
int?main()?{??if?(bootloader_requested()) {? ??bootloader_init();? ??bootloader_run();?// defined in tiny_bootloader.h? }?else?{? ??asm("JMP 0");?// jump to main program? }??while?(1);}

wolfBootwolfBoot 是一款開源的、輕量級的安全Bootloader,它是完全獨立的應用程序,適用于32位MCU操作系統(tǒng)或裸機項目。

開源地址:https://github.com/wolfSSL/wolfBoot

該bootloader由以下組件組成:

wolfCrypt,用于驗證鏡像的簽名

一個極簡的硬件抽象層,為支持的目標提供了實現(xiàn),該目標負責特定 MCU 上的 IAP 閃存訪問和時鐘設置

核心引導加載程序

應用程序用于與引導加載程序 src/libwolfboot.c 交互的小型應用程序庫

這款程序也是號稱安全的Bootloader,沒有動態(tài)內存分配機制,也沒有鏈接到除 wolfCrypt 之外的任何標準 C 庫。

相關推薦

登錄即可解鎖
  • 海量技術文章
  • 設計資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄

作者黃工,從事嵌入式軟件開發(fā)工作8年有余,高級嵌入式軟件工程師,業(yè)余維護公眾號『strongerHuang』,分享嵌入式軟硬件、單片機、物聯(lián)網(wǎng)等內容。