|
關(guān)注+星標公眾號,不錯過精彩內(nèi)容
w1rzy5nqmkm64078309240.jpg (92.58 KB, 下載次數(shù): 10)
下載附件
保存到相冊
w1rzy5nqmkm64078309240.jpg
2024-11-2 07:40 上傳
素材來源 | 網(wǎng)絡(luò)
之前給大家分享過《MCU批量生產(chǎn)下載程序的幾種常見方法》,今天再給大家分享一下通過OTA方式升級固件時,幾種Flash(閃存)劃分方式。
獨立型
所謂獨立型就是專門劃出一部分閃存(Flash)空間用來存儲引導程序(BootLoader)。
如下圖:BootLoader:引導程序Firmware A:應(yīng)用程序Firmware B:下載備份程序
gebxjqeziky64078309340.jpg (33.72 KB, 下載次數(shù): 10)
下載附件
保存到相冊
gebxjqeziky64078309340.jpg
2024-11-2 07:40 上傳
Firmware A區(qū)用來固定執(zhí)行應(yīng)用程序,當引導程序(BootLoader)將接收到的新固件存入到Firmware B區(qū),并校驗成功后,F(xiàn)irmware A區(qū)中的應(yīng)用程序?qū)⒈徊脸,然后Firmware B區(qū)的新固件將寫入到Firmware A區(qū)中。
這種方式是比較常見的一種,因為它有Firmware B備份區(qū),即便Firmware A區(qū)應(yīng)用程序在更新(擦除)的時候突然斷電,也不會影響升級,使其下載更加安全。
嵌入型
嵌入型就是將引導程序(BootLoader)嵌入到應(yīng)用程序中去。
z4gaokgk5a064078309440.jpg (34.28 KB, 下載次數(shù): 7)
下載附件
保存到相冊
z4gaokgk5a064078309440.jpg
2024-11-2 07:40 上傳
當引導程序(BootLoader)將接收到的新固件存儲到Firmware B區(qū),在校驗成功后,引導程序(BootLoader)將跳到Firmware B區(qū)去執(zhí)行應(yīng)用程序。
外掛型
外掛型就是外掛Flash或EEPROM用來存儲新固件。
當MCU內(nèi)置Flash較小時,可以選擇外掛存儲芯片用來緩存新固件。引導程序(BootLoader)將新固件存儲到外掛存儲芯片中,當校驗成功后,F(xiàn)irmware A中的應(yīng)用程序?qū)⒈徊脸⒈粚懭胪鈷齑鎯π酒械男鹿碳?br />
bhneb1ymhn264078309540.png (62.1 KB, 下載次數(shù): 8)
下載附件
保存到相冊
bhneb1ymhn264078309540.png
2024-11-2 07:40 上傳
那么問題來了,是不是我們可以隨意劃分MCU的Flash空間呢?當然不是,由于MCU的內(nèi)置Flash是以塊(Block)或者頁(Page)為最小擦除單位,我們劃分MCU內(nèi)置Flash空間時必須考慮到實際MCU的塊(Block)或者頁(Page)的大小。
以某單片機來舉例說明“獨立型”的Flash劃分方式。從以下規(guī)格書中的信息可知,這顆MCU的內(nèi)置Flash大小為128KB,最小的擦除頁(Page)為4KB,最小的擦除塊(Block)為32KB。
fsaby4q1snk64078309640.png (235.59 KB, 下載次數(shù): 9)
下載附件
保存到相冊
fsaby4q1snk64078309640.png
2024-11-2 07:40 上傳
根據(jù)以上信息,我們可以對這顆MCU的內(nèi)置Flash進行如下劃分:
w32vwhfs5eo64078309740.png (89.16 KB, 下載次數(shù): 11)
下載附件
保存到相冊
w32vwhfs5eo64078309740.png
2024-11-2 07:40 上傳
以上只是對固件升級(OTA)中MCU的Flash空間劃分簡單探討一下,實際哪種方式更適合,還需要用戶自己去評估。
聲明:本文素材來源網(wǎng)絡(luò),版權(quán)歸原作者所有。如涉及作品版權(quán)問題,請與我聯(lián)系刪除。
------------ END ------------
ki10zixlky364078309840.gif (71.87 KB, 下載次數(shù): 13)
下載附件
保存到相冊
ki10zixlky364078309840.gif
2024-11-2 07:40 上傳
●專欄《嵌入式工具》
●專欄《嵌入式開發(fā)》
●專欄《Keil教程》
●嵌入式專欄精選教程
關(guān)注公眾號回復“加群”按規(guī)則加入技術(shù)交流群,回復“1024”查看更多內(nèi)容。
點擊“閱讀原文”查看更多分享。 |
|