吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

介紹MCUboot支持的四種升級模式(2)

瑞薩MCU小百科 ? 來源:瑞薩MCU小百科 ? 2024-06-13 10:56 ? 次閱讀

介紹MCUboot支持的四種升級模式,分別是Overwrite、Swap、Direct XIP和加載到RAM中執行。由于FSP不支持第四種——加載到RAM中執行,因為我們重點介紹前三種。

Direct XIP(Execute In Place)模式

6ddf386e-2483-11ef-91d2-92fbcf53809c.png

MCUboot Direct XIP模式流程圖

接下來我們看第三種升級模式,Direct XIP(Execute In Place),跟前兩種模式Overwrite和Swap最大的不同在于,代碼是就地執行的,即升級后的代碼直接在Secondary Slot中執行。

上電后芯片中燒錄的是Bootloader和Primary Slot中User Application v1.0,運行的過程中,芯片收到升級指令,接收新firmware并燒錄到Secondary Slot中,然后跳轉至Secondary Slot中執行。

如果查看升級操作的起始狀態和結束狀態會發現,芯片從運行Primary Slot中的低版本v1.0代碼變為運行Secondary Slot中的高版本v2.0代碼,因此完成了一次升級。

從Direct XIP模式的流程可以看出它的一些特點:

支持代碼回滾/回退/降級。由于升級完成后,低版本v1.0 Image依然存儲在芯片中,因此若在高版本v2.0 上發現bug需要修復,則有機會重新執行升級程序使得代碼回到v1.0。

升級過程中不涉及對flash的擦除和寫入操作,因此Boot時間較短,是三種模式中時間最短的。

關于各種模式之間的更多細節比較,請參考下圖中的內容:

6df8c07c-2483-11ef-91d2-92fbcf53809c.png

各升級模式特性比較

關于Secondary Slot的屬性,既可以是片上flash,也可以是外部flash。FSP對外部的支持為QSPI Flash,可以映射到地址總線上的存儲空間。假如利用外部flash如QSPI作為Secondary slot,則不支持Direct XIP模式。

另外,由于映像文件Image的傳輸途徑可能具有潛在風險,又或者使用外部flash存儲新Image擔心被盜用,則推薦使用加密存儲的方式。假如使用加密存儲,則不支持Direct XIP模式。

前面提到了MCUboot可以實現安全boot,即判斷目標Image的完整性和合法性,根據結果決定是否執行固件升級操作,這個過程也可以叫做安全校驗。

安全校驗的設計可謂豐儉由人,整體的原則是,安全級別越高,帶來的代碼量增加越大,啟動時間越長。

MCUboot的安全校驗意味著,待更新的Image文件需要增加一些標識,才能被bootloader識別,原始的文件無法通過安全校驗。

下面的圖展示了處理后的Application Image各部分信息

6e1587ca-2483-11ef-91d2-92fbcf53809c.png

利用Python腳本處理后的Application Image

MCUboot的安全校驗的實現方式包括:

增加Header,位于更新后的Bootloader和Application實際起始地址中間。其中包含了豐富的信息,比較關鍵的部分如Image的版本及大小。

增加TLV (Type Length Value),緊跟在Application之后。其中包含了Image文件對應的HASH哈希值和對Image文件生成的簽名信息。

增加Trailer,位于Slot頂端,和TLV之間會填充固定數值。根據升級模式的不同,Trailer的格式和含義也不同,在此不展開。值得一提的是,對于Swap模式,Trailer中包含了Bootloader進行升級時的判斷標志,更多細節請參考MCUboot官網對于此部分的說明。

由于Bootloader占用了flash空間0地址開始的部分且大小幾乎不變,因此在設計的時候,需評估flash的空間劃分,使得Bootloader盡量小以讓出更多空間給Application利用。關于Bootloader優化,我們不在本章中展開說明。

決定Bootloader大小的關鍵要素有以下幾個:

升級模式,Overwrite最小,Swap最大

安全校驗的級別,級別越高代碼量越大

對于Flash劃分,需要遵循的基本原則是,每個區域(Bootloader,Primary Slot和Secondary Slot)均占據完整的Block size,具體到RA產品,請在硬件手冊中確認Block size的值。

以RA6M4 1M Code Flash產品為例,共有38個Block,其中低8個Block大小為8KB,高地址上的Block大小均為32KB。

6e311670-2483-11ef-91d2-92fbcf53809c.png

RA6M4 Flash Block地址信息

本章總結

本篇我們介紹了MCUboot的基本概念和設計的基本原則,后續的文章中,會針對每一種升級模式,做更詳細的說明。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    456

    文章

    51170

    瀏覽量

    427227
  • 燒錄
    +關注

    關注

    8

    文章

    266

    瀏覽量

    35720
  • FSP
    FSP
    +關注

    關注

    0

    文章

    34

    瀏覽量

    7176

原文標題:MCUboot系列(1-2)簡介以及在RA FSP上的支持

文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    四種支持向量機用于函數擬合與模式識別的Matlab示例程序

    四種支持向量機用于函數擬合與模式識別的Matlab示例程序,內容主要在個文件夾里面[hide] [/hide]
    發表于 03-13 15:46

    四種不同供電模式的LED拓撲介紹

    本文中,小編將為大家介紹四種在LED供電當中經常使用的四種拓撲結構。感興趣的朋友快來看一看吧。 首先需要從了解轉換器的最小及最大輸出電壓入手。這只是將所有LED正向壓降與傳感電阻器電壓相加的總數
    發表于 10-10 15:07

    STM32芯片GPIO的四種輸入模式四種輸出模式

    STM32芯片的GPIO一共有8配置模式,對8模式的理解如下1.四種輸入模式上拉輸入:在默認
    發表于 05-21 07:55

    單片機四種輸入模式

    單片機四種輸入模式 MCU輸入模式有浮空、上拉、下拉、模擬輸入這四種模式,如果采用上拉或者下拉模式
    發表于 08-24 16:19

    變頻器主要支持四種模式

    變頻器主要支持四種模式:無PG的V/F模式,有PG的V/F模式,無PG的矢量控制模式,有PG的矢
    發表于 09-03 06:57

    介紹AUTOSAR支持四種功能安全機制

    1、AUTOSAR的四種功能安全機制雖然AUTOSAR不是一個完整的安全解決方案,但它提供了一些安全機制用于支持安全關鍵系統的開發。本文用于介紹AUTOSAR支持
    發表于 06-10 17:33

    二維碼的四種主要應用模式

    本文介紹二維碼主要的四種應用模式,包括讀取數據模式、解碼上網模式、解碼驗證模式、解碼通信
    發表于 01-25 11:52 ?3479次閱讀

    WIFI模塊四種工作模式介紹_WIFI模塊工作模式淺析

    WIFI模塊常見的四種工作模式:透傳模式、串口指令模式、HTTPD Client模式、GPIO模式
    發表于 01-19 14:45 ?2.8w次閱讀

    獲得 2 MHz 開關頻率的四種設計技巧

    獲得 2 MHz 開關頻率的四種設計技巧
    發表于 11-02 08:16 ?0次下載
    獲得 <b class='flag-5'>2</b> MHz 開關頻率的<b class='flag-5'>四種</b>設計技巧

    獲得2MHz開關頻率的四種設計技巧

    獲得2MHz開關頻率的四種設計技巧
    發表于 11-02 08:16 ?0次下載
    獲得<b class='flag-5'>2</b>MHz開關頻率的<b class='flag-5'>四種</b>設計技巧

    IEC 61851標準中的四種EV充電模式

    在本文中,我們將了解國際電工委員會 (IEC) 規定的不同 EV 充電模式。這些模式在處理電動汽車傳導充電系統的 IEC 61851 標準中指定。該標準描述了四種不同的充電模式,稱為
    的頭像 發表于 06-24 15:06 ?1w次閱讀
    IEC 61851標準中的<b class='flag-5'>四種</b>EV充電<b class='flag-5'>模式</b>

    GPIO的四種輸入模式介紹

    32位寄存器共同控制。 輸出和輸入都是針對芯片引腳來講的(即引腳的對外輸出,和外界對引腳的輸入)。 四種輸入模式介紹 輸入模式下可讀取端口的高低電平或電壓。例如各類傳感器(使用ADC功
    的頭像 發表于 11-09 16:51 ?6818次閱讀
    GPIO的<b class='flag-5'>四種</b>輸入<b class='flag-5'>模式</b><b class='flag-5'>介紹</b>

    淺析電子負載常見的的四種工作模式

    淺析電子負載常見的的四種工作模式 電子負載是電子設備的一,用于模擬負載并測試電源的性能。它在電子行業和電力領域有廣泛的應用。電子負載常見的四種工作
    的頭像 發表于 01-22 13:43 ?3173次閱讀

    介紹MCUboot支持四種升級模式(1)

    隨著嵌入式系統的發展,產品對于代碼升級功能的需求越來越大。通過代碼升級,可以實現諸如支持新功能,修復故障等目標。
    的頭像 發表于 06-13 10:55 ?2969次閱讀
    <b class='flag-5'>介紹</b><b class='flag-5'>MCUboot</b><b class='flag-5'>支持</b>的<b class='flag-5'>四種</b><b class='flag-5'>升級</b><b class='flag-5'>模式</b>(1)

    MCUboot Swap模式升級的流程和注意事項

    前面介紹MCUboot的基礎知識(請查看上方“簡介以及在RA FSP上的支持”文章),上次介紹了Overwrite模式(請查看上方“RA
    的頭像 發表于 06-13 16:01 ?952次閱讀
    <b class='flag-5'>MCUboot</b> Swap<b class='flag-5'>模式</b><b class='flag-5'>升級</b>的流程和注意事項
    乐宝百家乐官网游戏| 子山午向的房子24山图| 百家乐怎么玩会| 百家乐官网园搏彩论坛| 百家乐书籍| 德州扑克比赛视频| 赌场百家乐官网图片| 威尼斯人娱乐场申博太阳城| KK百家乐官网现金网| 鑫鑫百家乐官网的玩法技巧和规则| 郑州太阳城宾馆| 百家乐官网平台有什么优势| 金钱豹百家乐的玩法技巧和规则 | 老牌全讯网| 百家乐官网路单破解软件| 百家乐EA平台| 滦南县| 百家乐赌场大全| 维多利亚娱乐城| 百家乐优博娱乐城| 百家乐官网有破解的吗| 真人百家乐赌城| 赌百家乐官网的下场| 百家乐平台有什么优惠| 百家乐官网新规则| 最佳场百家乐的玩法技巧和规则 | 24山安葬吉凶择日| 足球注册网站| 百家乐注册送10彩金| 百家乐官网视频游戏帐号| 百家乐游戏机说明书| 百家乐官网连输的时候| 真人百家乐网络游戏信誉怎么样 | bet365投注体育比赛合法吗| 百家乐玩法及技巧| 百家乐官网赌法| 新东泰百家乐的玩法技巧和规则| 百家乐官网2号技术| 乐透乐博彩论坛| 百家乐大转轮| 678百家乐官网博彩娱乐场开户注册|