MCU固件升級(OTA)的幾種Flash划分方式


現在在MCU上實現固件升級(OTA)功能變得越來越普遍,今天我們就來探討一下MCU固件升級(OTA)的幾種閃存(Flash)划分方式:

1.獨立型

所謂獨立型就是專門划出一部分閃存(Flash)空間用來存儲引導程序(BootLoader)。

如下圖,Firmware A區用來固定執行用戶程序。當引導程序(BootLoader)將接收到的新固件存入到Firmware B區,並校驗成功后,Firmware A區中的用戶程序將被擦除,然后Firmware B區的新固件將寫入到Firmware A區中。

MCU固件升級(OTA)的幾種Flash划分方式

 

2.嵌入型

嵌入型就是將引導程序(BootLoader)嵌入到用戶程序中去。

當引導程序(BootLoader)將接收到的新固件存儲到Firmware B區,在校驗成功后,引導程序(BootLoader)將跳到Firmware B區去執行用戶程序。

MCU固件升級(OTA)的幾種Flash划分方式

 

3.外掛型

外掛型就是外掛flash或EEPROM用來存儲新固件。

當MCU內置flash較小時,可以選擇外掛存儲芯片用來存儲新固件。引導程序(BootLoader)將新固件存儲到外掛存儲芯片中,當校驗成功后,Firmware A中的用戶程序將被擦除,並被寫入外掛存儲芯片中的新固件。

MCU固件升級(OTA)的幾種Flash划分方式

 

是不是根據需要,我們可以隨意划分MCU的Flash空間呢?

當然不是,由於MCU的內置flash是以塊(Block)或者頁(Page)為最小擦除單位,我們划分MCU內置flash空間時必須考慮到實際MCU的塊(Block)或者頁(Page)的大小。

現在我們用東芝TXZ系列MCU TMPM3H6FWFG來舉例說明“獨立型”的flash划分方式。從以下規格書中的信息可知,這顆MCU的內置Flash大小為128KB,最小的擦除頁(Page)為4KB,最小的擦除塊(Block)為32KB。

MCU固件升級(OTA)的幾種Flash划分方式

 

根據以上信息,我們可以對這顆MCU的內置Flash進行如下划分:

MCU固件升級(OTA)的幾種Flash划分方式

 

以上只是對固件升級(OTA)中MCU的flash空間划分簡單探討一下,實際哪種方式更適合,還需要用戶自己去評估。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM