昨天為大家分享了《單片機(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文章
17358瀏覽量
352806 -
FlaSh
+關(guān)注
關(guān)注
10文章
1644瀏覽量
148771 -
ROM
+關(guān)注
關(guān)注
4文章
575瀏覽量
86034 -
OTA
+關(guān)注
關(guān)注
7文章
588瀏覽量
35405
原文標(biāo)題:MCU固件升級的幾種Flash劃分方式
文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
請問有沒有辦法對MSP430的固件升級?
【OTA升級】無需數(shù)據(jù)線,一條命令即可完成固件升級!
![【OTA<b class='flag-5'>升級</b>】無需數(shù)據(jù)線,一條命令即可完成<b class='flag-5'>固件</b><b class='flag-5'>升級</b>!](https://file.elecfans.com/web2/M00/10/E9/pYYBAGEfInyAb9dQAABH4pzjonI981.jpg)
不進(jìn)入halt狀態(tài)可以操作mcu的flash嗎
【GD32 MCU 入門教程】二、GD32 MCU 燒錄說明(1)ISP 燒錄
![【GD32 <b class='flag-5'>MCU</b> 入門教程】二、GD32 <b class='flag-5'>MCU</b> 燒錄說明(1)ISP 燒錄](https://file1.elecfans.com/web2/M00/02/38/wKgaoma0f8SAB_h5AAAvpALfiNs789.png)
并聯(lián)電容器的補(bǔ)償方式有哪幾種
esp8285 1MB使用flash download tool刷固件時flash size選錯了, OTA失敗能救不?
控制閥有哪幾種控制方式
PLC的升級方式有哪些
STM8L101F3通過bootloader升級固件的時候,怎么防止Flash最后一頁被擦除?
vlan的劃分方法有哪些?有哪幾種?
淺談MCU固件幾種Flash(閃存)劃分方式
![淺談<b class='flag-5'>MCU</b><b class='flag-5'>固件</b><b class='flag-5'>幾種</b><b class='flag-5'>Flash</b>(閃存)<b class='flag-5'>劃分</b><b class='flag-5'>方式</b>](https://file1.elecfans.com/web2/M00/CA/C9/wKgZomYfQ2SASAvBAAAu2LTmF1o905.png)
換流方式有哪幾種,各有什么特點(diǎn)
CYUSB3014用SPI的方式固化了一個固件到flash中,想修改固件一直提示錯誤的原因?
EtherCAT總線如何對從站固件進(jìn)行升級?
![EtherCAT總線如何對從站<b class='flag-5'>固件</b>進(jìn)行<b class='flag-5'>升級</b>?](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
評論