[導(dǎo)讀]關(guān)注星標(biāo)公眾號,不錯過精彩內(nèi)容素材來源|?網(wǎng)絡(luò)微信公眾號|嵌入式專欄昨天為大家分享了《單片機產(chǎn)品生產(chǎn)下載程序的常見方法》,有讀者說他們是通過U盤、OTA遠(yuǎn)程下載的程序。你通過U盤、OTA遠(yuǎn)程等方式下載的程序,其實你還是需要提前下載BootLoader程序,才能進一步下載APP程序...
關(guān)注 星標(biāo)公眾號,不錯過精彩內(nèi)容
你通過U盤、OTA遠(yuǎn)程等方式下載的程序,其實你還是需要提前下載BootLoader程序,才能進一步下載APP程序。
今天就來說說通過OTA方式升級固件時,幾種Flash(閃存)劃分方式。
獨立型
如下圖:
Firmware A區(qū)用來固定執(zhí)行應(yīng)用程序,當(dāng)引導(dǎo)程序(BootLoader)將接收到的新固件存入到Firmware B區(qū),并校驗成功后,F(xiàn)irmware A區(qū)中的應(yīng)用程序?qū)⒈徊脸?,然后Firmware B區(qū)的新固件將寫入到Firmware A區(qū)中。
這種方式是比較常見的有一種,有Firmware B備份區(qū),使其下載更加安全。
嵌入型
當(dāng)引導(dǎo)程序(BootLoader)將接收到的新固件存儲到Firmware B區(qū),在校驗成功后,引導(dǎo)程序(BootLoader)將跳到Firmware B區(qū)去執(zhí)行應(yīng)用程序。
外掛型
當(dāng)MCU內(nèi)置Flash較小時,可以選擇外掛存儲芯片用來緩存新固件。引導(dǎo)程序(BootLoader)將新固件存儲到外掛存儲芯片中,當(dāng)校驗成功后,F(xiàn)irmware A中的應(yīng)用程序?qū)⒈徊脸⒈粚懭胪鈷齑鎯π酒械男鹿碳?/span>
是不是根據(jù)需要,我們可以隨意劃分MCU的Flash空間呢?當(dāng)然不是,由于MCU的內(nèi)置Flash是以塊(Block)或者頁(Page)為最小擦除單位,我們劃分MCU內(nèi)置Flash空間時必須考慮到實際MCU的塊(Block)或者頁(Page)的大小。
現(xiàn)在我們以TMPM3H6FWFG來舉例說明“獨立型”的Flash劃分方式。從以下規(guī)格書中的信息可知,這顆MCU的內(nèi)置Flash大小為128KB,最小的擦除頁(Page)為4KB,最小的擦除塊(Block)為32KB。
根據(jù)以上信息,我們可以對這顆MCU的內(nèi)置Flash進行如下劃分:
以上只是對固件升級(OTA)中MCU的Flash空間劃分簡單探討一下,實際哪種方式更適合,還需要用戶自己去評估。
聲明:本文素材來源網(wǎng)絡(luò),版權(quán)歸原作者所有。如涉及作品版權(quán)問題,請與我聯(lián)系刪除。
------------ END ------------
你通過U盤、OTA遠(yuǎn)程等方式下載的程序,其實你還是需要提前下載BootLoader程序,才能進一步下載APP程序。
今天就來說說通過OTA方式升級固件時,幾種Flash(閃存)劃分方式。
獨立型
如下圖:
-
BootLoader:引導(dǎo)程序
-
Firmware A:應(yīng)用程序
-
Firmware B:下載備份程序
Firmware A區(qū)用來固定執(zhí)行應(yīng)用程序,當(dāng)引導(dǎo)程序(BootLoader)將接收到的新固件存入到Firmware B區(qū),并校驗成功后,F(xiàn)irmware A區(qū)中的應(yīng)用程序?qū)⒈徊脸?,然后Firmware B區(qū)的新固件將寫入到Firmware A區(qū)中。
這種方式是比較常見的有一種,有Firmware B備份區(qū),使其下載更加安全。
嵌入型
當(dāng)引導(dǎo)程序(BootLoader)將接收到的新固件存儲到Firmware B區(qū),在校驗成功后,引導(dǎo)程序(BootLoader)將跳到Firmware B區(qū)去執(zhí)行應(yīng)用程序。
外掛型
當(dāng)MCU內(nèi)置Flash較小時,可以選擇外掛存儲芯片用來緩存新固件。引導(dǎo)程序(BootLoader)將新固件存儲到外掛存儲芯片中,當(dāng)校驗成功后,F(xiàn)irmware A中的應(yīng)用程序?qū)⒈徊脸⒈粚懭胪鈷齑鎯π酒械男鹿碳?/span>
是不是根據(jù)需要,我們可以隨意劃分MCU的Flash空間呢?當(dāng)然不是,由于MCU的內(nèi)置Flash是以塊(Block)或者頁(Page)為最小擦除單位,我們劃分MCU內(nèi)置Flash空間時必須考慮到實際MCU的塊(Block)或者頁(Page)的大小。
現(xiàn)在我們以TMPM3H6FWFG來舉例說明“獨立型”的Flash劃分方式。從以下規(guī)格書中的信息可知,這顆MCU的內(nèi)置Flash大小為128KB,最小的擦除頁(Page)為4KB,最小的擦除塊(Block)為32KB。
根據(jù)以上信息,我們可以對這顆MCU的內(nèi)置Flash進行如下劃分:
以上只是對固件升級(OTA)中MCU的Flash空間劃分簡單探討一下,實際哪種方式更適合,還需要用戶自己去評估。
聲明:本文素材來源網(wǎng)絡(luò),版權(quán)歸原作者所有。如涉及作品版權(quán)問題,請與我聯(lián)系刪除。
------------ END ------------





