電子產(chǎn)業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 31|回復(fù): 0
收起左側(cè)

MCU固件升級Flash劃分方式

[復(fù)制鏈接]

317

主題

317

帖子

2668

積分

三級會員

Rank: 3Rank: 3

積分
2668
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 昨天 11:46 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
關(guān)注+星標公眾,不錯過精彩內(nèi)容

素材來源 | 網(wǎng)絡(luò)
之前給大家分享過《MCU批量生產(chǎn)下載程序的幾種常見方法》,今天再給大家分享一下通過OTA方式升級固件時,幾種Flash(閃存)劃分方式。
獨立型
所謂獨立型就是專門劃出一部分閃存(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ū),并校驗成功后,F(xiàn)irmware A區(qū)中的應(yīng)用程序?qū)⒈徊脸,然后Firmware B區(qū)的新固件將寫入到Firmware A區(qū)中。
    這種方式是比較常見的一種,因為它有Firmware B備份區(qū),即便Firmware A區(qū)應(yīng)用程序在更新(擦除)的時候突然斷電,也不會影響升級,使其下載更加安全。
    嵌入型
    嵌入型就是將引導(dǎo)程序(BootLoader)嵌入到應(yīng)用程序中去。

    當(dāng)引導(dǎo)程序(BootLoader)將接收到的新固件存儲到Firmware B區(qū),在校驗成功后,引導(dǎo)程序(BootLoader)將跳到Firmware B區(qū)去執(zhí)行應(yīng)用程序。
    外掛型
    外掛型就是外掛Flash或EEPROM用來存儲新固件。
    當(dāng)MCU內(nèi)置Flash較小時,可以選擇外掛存儲芯片用來緩存新固件。引導(dǎo)程序(BootLoader)將新固件存儲到外掛存儲芯片中,當(dāng)校驗成功后,F(xiàn)irmware A中的應(yīng)用程序?qū)⒈徊脸,并被寫入外掛存儲芯片中的新固件?br />

    那么問題來了,是不是我們可以隨意劃分MCU的Flash空間呢?當(dāng)然不是,由于MCU的內(nèi)置Flash是以塊(Block)或者頁(Page)為最小擦除單位,我們劃分MCU內(nèi)置Flash空間時必須考慮到實際MCU的塊(Block)或者頁(Page)的大小。
    以某單片機來舉例說明“獨立型”的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 ------------



    ●專欄《嵌入式工具
    ●專欄《嵌入式開發(fā)》
    ●專欄《Keil教程》
    ●嵌入式專欄精選教程

    關(guān)注公眾號回復(fù)“加群”按規(guī)則加入技術(shù)交流群,回復(fù)“1024”查看更多內(nèi)容。
    點擊“閱讀原文”查看更多分享。
  • 回復(fù)

    使用道具 舉報

    發(fā)表回復(fù)

    您需要登錄后才可以回帖 登錄 | 立即注冊

    本版積分規(guī)則

    關(guān)閉

    站長推薦上一條 /1 下一條


    聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表