昨天為大家分享了《單片機產品生產下載程序的常見方法》,有讀者說他們是通過U盤、OTA遠程下載的程序。
你通過U盤、OTA遠程等方式下載的程序,其實你還是需要提前下載BootLoader程序,才能進一步下載APP程序。
今天就來說說通過OTA方式升級固件時,幾種Flash(閃存)劃分方式。
獨立型
所謂獨立型就是專門劃出一部分閃存(Flash)空間用來存儲引導程序(BootLoader)。
如下圖:
BootLoader:引導程序
Firmware A:應用程序
Firmware B:下載備份程序
Firmware A區用來固定執行應用程序,當引導程序(BootLoader)將接收到的新固件存入到Firmware B區,并校驗成功后,Firmware A區中的應用程序將被擦除,然后Firmware B區的新固件將寫入到Firmware A區中。
這種方式是比較常見的有一種,有Firmware B備份區,使其下載更加安全。
嵌入型
嵌入型就是將引導程序(BootLoader)嵌入到應用程序中去。
當引導程序(BootLoader)將接收到的新固件存儲到Firmware B區,在校驗成功后,引導程序(BootLoader)將跳到Firmware B區去執行應用程序。
外掛型
外掛型就是外掛Flash或EEPROM用來存儲新固件。
當MCU內置Flash較小時,可以選擇外掛存儲芯片用來緩存新固件。引導程序(BootLoader)將新固件存儲到外掛存儲芯片中,當校驗成功后,Firmware A中的應用程序將被擦除,并被寫入外掛存儲芯片中的新固件。
是不是根據需要,我們可以隨意劃分MCU的Flash空間呢?當然不是,由于MCU的內置Flash是以塊(Block)或者頁(Page)為最小擦除單位,我們劃分MCU內置Flash空間時必須考慮到實際MCU的塊(Block)或者頁(Page)的大小。
現在我們以TMPM3H6FWFG來舉例說明“獨立型”的Flash劃分方式。從以下規格書中的信息可知,這顆MCU的內置Flash大小為128KB,最小的擦除頁(Page)為4KB,最小的擦除塊(Block)為32KB。
根據以上信息,我們可以對這顆MCU的內置Flash進行如下劃分:
以上只是對固件升級(OTA)中MCU的Flash空間劃分簡單探討一下,實際哪種方式更適合,還需要用戶自己去評估。
聲明:本文素材來源網絡,版權歸原作者所有。如涉及作品版權問題,請與我聯系刪除。
編輯:jq
-
mcu
+關注
關注
146文章
17185瀏覽量
351734 -
FlaSh
+關注
關注
10文章
1638瀏覽量
148205 -
ROM
+關注
關注
4文章
575瀏覽量
85837 -
OTA
+關注
關注
7文章
582瀏覽量
35285
原文標題:MCU固件升級的幾種Flash劃分方式
文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論