昨天為大家分享了《單片機(jī)產(chǎn)品生產(chǎn)下載程序的常見方法》,有讀者說他們是通過U盤、OTA遠(yuǎn)程下載的程序。
你通過U盤、OTA遠(yuǎn)程等方式下載的程序,其實(shí)你還是需要提前下載BootLoader程序,才能進(jìn)一步下載APP程序。
今天就來說說通過OTA方式升級固件時,幾種Flash(閃存)劃分方式。
獨(dú)立型
所謂獨(dú)立型就是專門劃出一部分閃存(Flash)空間用來存儲引導(dǎo)程序(BootLoader)。
如下圖:
BootLoader:引導(dǎo)程序
Firmware A:應(yīng)用程序
Firmware B:下載備份程序
Firmware A區(qū)用來固定執(zhí)行應(yīng)用程序,當(dāng)引導(dǎo)程序(BootLoader)將接收到的新固件存入到Firmware B區(qū),并校驗(yàn)成功后,F(xiàn)irmware A區(qū)中的應(yīng)用程序?qū)⒈徊脸缓驠irmware B區(qū)的新固件將寫入到Firmware A區(qū)中。
這種方式是比較常見的有一種,有Firmware B備份區(qū),使其下載更加安全。
嵌入型
嵌入型就是將引導(dǎo)程序(BootLoader)嵌入到應(yīng)用程序中去。
當(dāng)引導(dǎo)程序(BootLoader)將接收到的新固件存儲到Firmware B區(qū),在校驗(yàn)成功后,引導(dǎo)程序(BootLoader)將跳到Firmware B區(qū)去執(zhí)行應(yīng)用程序。
外掛型
外掛型就是外掛Flash或EEPROM用來存儲新固件。
當(dāng)MCU內(nèi)置Flash較小時,可以選擇外掛存儲芯片用來緩存新固件。引導(dǎo)程序(BootLoader)將新固件存儲到外掛存儲芯片中,當(dāng)校驗(yàn)成功后,F(xiàn)irmware A中的應(yīng)用程序?qū)⒈徊脸⒈粚懭胪鈷齑鎯π酒械男鹿碳?/p>
是不是根據(jù)需要,我們可以隨意劃分MCU的Flash空間呢?當(dāng)然不是,由于MCU的內(nèi)置Flash是以塊(Block)或者頁(Page)為最小擦除單位,我們劃分MCU內(nèi)置Flash空間時必須考慮到實(shí)際MCU的塊(Block)或者頁(Page)的大小。
現(xiàn)在我們以TMPM3H6FWFG來舉例說明“獨(dú)立型”的Flash劃分方式。從以下規(guī)格書中的信息可知,這顆MCU的內(nèi)置Flash大小為128KB,最小的擦除頁(Page)為4KB,最小的擦除塊(Block)為32KB。
根據(jù)以上信息,我們可以對這顆MCU的內(nèi)置Flash進(jìn)行如下劃分:
以上只是對固件升級(OTA)中MCU的Flash空間劃分簡單探討一下,實(shí)際哪種方式更適合,還需要用戶自己去評估。
聲明:本文素材來源網(wǎng)絡(luò),版權(quán)歸原作者所有。如涉及作品版權(quán)問題,請與我聯(lián)系刪除。
編輯:jq
-
mcu
+關(guān)注
關(guān)注
146文章
17821瀏覽量
359918 -
FlaSh
+關(guān)注
關(guān)注
10文章
1661瀏覽量
150943 -
ROM
+關(guān)注
關(guān)注
4文章
578瀏覽量
86961 -
OTA
+關(guān)注
關(guān)注
7文章
603瀏覽量
36167
原文標(biāo)題:MCU固件升級的幾種Flash劃分方式
文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
MCU片上Flash
STM32745/747芯片固件升級的疑問求解
STM32下載程序的方式有哪些?
常見網(wǎng)絡(luò)負(fù)載均衡的幾種方式
淺談車規(guī)MCU (MGEQ1C064) OTA升級
通過Boot swap實(shí)現(xiàn)瑞薩RL78/F24 MCU固件升級

DLP3432適配的外掛Flash芯片的固件如何燒錄呢?
請問有沒有辦法對MSP430的固件升級?
【OTA升級】無需數(shù)據(jù)線,一條命令即可完成固件升級!

不進(jìn)入halt狀態(tài)可以操作mcu的flash嗎
【GD32 MCU 入門教程】二、GD32 MCU 燒錄說明(1)ISP 燒錄

評論