在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

瑞薩MCU小百科 ? 來(lái)源:瑞薩MCU小百科 ? 2024-06-13 10:55 ? 次閱讀

隨著嵌入式系統(tǒng)的發(fā)展,產(chǎn)品對(duì)于代碼升級(jí)功能的需求越來(lái)越大。通過(guò)代碼升級(jí),可以實(shí)現(xiàn)諸如支持新功能,修復(fù)故障等目標(biāo)。

代碼升級(jí)本質(zhì)上是對(duì)片上閃存flash(主要是code flash)進(jìn)行擦除和寫(xiě)入的過(guò)程。由于需要在代碼運(yùn)行的同時(shí)實(shí)現(xiàn)對(duì)flash內(nèi)容的操作,因此有些特別需要注意的部分。如:假如在傳輸過(guò)程中出現(xiàn)異常,導(dǎo)致代碼升級(jí)失敗,設(shè)備能否從該狀態(tài)正常啟動(dòng)并恢復(fù)至最近一次升級(jí)前的狀態(tài)。還有,假如向芯片中燒錄的新代碼存在漏洞,或傳輸途徑中遭到破壞,設(shè)備能否檢測(cè)到這種異常并拒絕運(yùn)行該代碼。另外,由于代碼升級(jí)跟芯片的flash結(jié)構(gòu)密切相關(guān),因此該過(guò)程中是否涉及中斷向量表重定位等也需考慮。

代碼升級(jí)的實(shí)現(xiàn)方式多種多樣,系統(tǒng)架構(gòu)也千差萬(wàn)別,如何在眾多方式中找到合適的升級(jí)方式,需要用戶根據(jù)應(yīng)用場(chǎng)景的需求進(jìn)行評(píng)估。

在此,我們介紹一種面向32位微處理器的安全啟動(dòng)代碼框架——MCUboot

MCUboot都有哪些特定呢?主要是以下幾個(gè):

完全開(kāi)源,持續(xù)更新

支持各種升級(jí)模式:overwrite,swap,direct XIP(Execute In Place)和拷貝到RAM中執(zhí)行

對(duì)新固件Firmware進(jìn)行安全校驗(yàn),且安全校驗(yàn)的級(jí)別可根據(jù)實(shí)際需求選擇

可從升級(jí)異常中恢復(fù)

MCUboot相關(guān)的資源都在哪里呢?您可進(jìn)入MCUboot官網(wǎng)(MCUboot official website),源碼全部托管在GitHub上。頁(yè)面下有一個(gè)md文件,作為MCUboot的官方介紹。

由于MCUboot是一個(gè)系統(tǒng)框架,因此它規(guī)定了對(duì)于芯片的flash劃分,將整個(gè)芯片的存儲(chǔ)空間劃分為Bootloader、Primary Slot和Secondary Slot三個(gè)部分。某種意義上說(shuō),Primary Slot和Secondary Slot互為對(duì)方的備份,在不同的升級(jí)模式下,各slot的作用也有所不同,這一點(diǎn)我們?cè)诤罄m(xù)詳細(xì)介紹。

對(duì)于一個(gè)32位單片機(jī)來(lái)說(shuō),客戶可以自行移植MCUboot以適配當(dāng)前產(chǎn)品,而Renesas FSP(Flexible Software Package靈活軟件包)已經(jīng)幫客戶實(shí)現(xiàn)了該適配,對(duì)于Renesas RA系列產(chǎn)品來(lái)說(shuō),MCUboot相關(guān)的大多數(shù)配置均可通過(guò)界面簡(jiǎn)單添加和配置,就像添加一個(gè)普通的外設(shè)驅(qū)動(dòng)那樣。

靈活配置軟件包FSP

我們以FSP對(duì)MCUboot的支持為例,對(duì)MCUboot的相關(guān)特性進(jìn)行介紹。

首先介紹MCUboot支持的四種升級(jí)模式,分別是Overwrite、Swap、Direct XIP和加載到RAM中執(zhí)行。由于FSP不支持第四種——加載到RAM中執(zhí)行,因?yàn)槲覀冎攸c(diǎn)介紹前三種。

Overwrite模式

3cddd268-22f1-11ef-91d2-92fbcf53809c.png

MCUboot Overwrite模式圖解

對(duì)于Overwrite模式來(lái)說(shuō),起點(diǎn)是芯片中燒錄了Bootloader和User Application v1.0(初始版本),上電后Bootloader分別檢查Secondary Slot和Primar Slot中的內(nèi)容,由于此時(shí)Secondary Slot為空,因此Bootloader檢查Primary Slot中Image(映像文件)的完整性,確認(rèn)其合法后會(huì)跳轉(zhuǎn)到Primary Slot中的User Application v1.0中執(zhí)行(此時(shí)PC指針運(yùn)行在Primary Slot中,黃色的Execution箭頭標(biāo)識(shí))。

代碼運(yùn)行的過(guò)程中收到了升級(jí)請(qǐng)求,則會(huì)接收新Image并燒錄到Secondary Slot中。對(duì)于接收新Image的途徑,則完全依賴用戶應(yīng)用程序的實(shí)現(xiàn),可以是USB、網(wǎng)口、Modbus等。燒錄完成后,會(huì)執(zhí)行一條軟復(fù)位指令,使得芯片回到復(fù)位向量表處開(kāi)始執(zhí)行Bootloader,此時(shí)Bootloader發(fā)現(xiàn)Secondary Slot中有一個(gè)新的代碼,假如它的版本是v2.0,高于Primary Slot中的v1.0,則會(huì)將Secondary Slot中的內(nèi)容拷貝到Primary Slot中,然后將Secondary Slot擦除。

如果比較整個(gè)過(guò)程的起始狀態(tài)和結(jié)束狀態(tài),我們會(huì)發(fā)現(xiàn),芯片中運(yùn)行的代碼從低版本的v1.0變成了高版本的v2.0,實(shí)現(xiàn)了代碼的升級(jí)。

從Overwrite模式的流程不難看出它的一些特點(diǎn):

由于代碼設(shè)計(jì)比較簡(jiǎn)單,因此Bootloader帶來(lái)的代碼量較小。因此能夠留更多的空間給應(yīng)用程序使用。

Overwrite不支持代碼回滾。即假如芯片中燒錄了新Image,則升級(jí)完成后舊Image不復(fù)存在。

代碼僅在Secondary Slot中備份而非執(zhí)行,最終需拷貝到Primary Slot中執(zhí)行,因此升級(jí)所用的Application Image進(jìn)行編譯/鏈接的地址始終為Primary Slot地址空間。

由于整個(gè)過(guò)程中需要對(duì)flash進(jìn)行兩次擦除(Primary Slot和Secondary Slot)一次寫(xiě)入(Primary Slot),因此整個(gè)Boot的過(guò)程依賴flash的特性,主要是擦寫(xiě)速度。

對(duì)于Renesas RA系列產(chǎn)品來(lái)說(shuō),假如在Stack中添加了MCUboot模塊,則升級(jí)模式的修改界面如下所示。

3d0316cc-22f1-11ef-91d2-92fbcf53809c.png

FSP中MCUboot升級(jí)模式選項(xiàng)

注意:Overwrite Only和Overwrite Only Fast比較類似,唯一的區(qū)別是,后者僅將用到的sectors(此處可以理解為Flash Block)從Secondary Slot拷貝到Primary Slot,未用部分不拷貝。

Swap模式

3d2355ea-22f1-11ef-91d2-92fbcf53809c.png

MCUboot Swap升級(jí)模式圖解

從系統(tǒng)框圖來(lái)說(shuō),Swap模式和Overwrite模式相比,在flash劃分上多了Scratch area,用于存儲(chǔ)兩個(gè)slot交換的中間內(nèi)容。

為簡(jiǎn)化說(shuō)明,對(duì)于Swap模式來(lái)說(shuō),依然假設(shè)起點(diǎn)是芯片中燒錄了Bootloader和User Application v1.0 (位于Primary Slot),代碼運(yùn)行過(guò)程中收到了升級(jí)指令,接收來(lái)自外部的新Image (User Application v2.0),并燒錄到Secondary Slot中,完成后執(zhí)行軟復(fù)位,芯片重新回到Bootloader中運(yùn)行。此時(shí)Bootloader判斷Secondary Slot有更高版本v2.0的代碼,檢查其完整性,確定合法后將Primary Slot中的內(nèi)容和Secondary Slot中的內(nèi)容以Block為單元進(jìn)行交換。

交換完成后,Primary Slot保存了高版本v2.0的Image,而Secondary Slot中保存了低版本v1.0的Image,代碼依然在Primary Slot中執(zhí)行。

Swap模式下的初始狀態(tài),Primary Slot中運(yùn)行的是低版本v1.0 Image,而完成升級(jí)后的結(jié)束狀態(tài)下,Primary Slot中運(yùn)行的是高版本v2.0 Image,因此完成了一次升級(jí)。

從Swap模式的流程可以看出它的一些特點(diǎn):

支持代碼回滾/回退/降級(jí)。由于升級(jí)完成后,低版本v1.0 Image依然存儲(chǔ)在芯片中,因此若在高版本v2.0 上發(fā)現(xiàn)bug需要修復(fù),則可以重新執(zhí)行升級(jí)程序使得代碼回到v1.0。

由于代碼功能較為復(fù)雜,因此Bootloader帶來(lái)的代碼量較大。其他條件一致的情況下,Swap模式的代碼是最大的。又由于保留了Scratch area用于代碼交換,因此留給應(yīng)用程序的空間就更小了。

整個(gè)升級(jí)過(guò)程中對(duì)于Primary Slot和Secondary Slot均執(zhí)行擦和寫(xiě)各一次,因此Boot時(shí)間較長(zhǎng)。

由于flash專門(mén)劃分了Scratch area用于對(duì)兩個(gè)Slot進(jìn)行代碼交換,在升級(jí)過(guò)程中,會(huì)對(duì)該區(qū)域進(jìn)行多次擦寫(xiě)。具體的擦寫(xiě)次數(shù)取決于Scratch area大小和Slot大小,簡(jiǎn)單的計(jì)算方式為,利用Primary Slot除以Scratch area得到的結(jié)果,即對(duì)Scratch area的擦除次數(shù)。寫(xiě)入次數(shù)和擦除次數(shù)相等。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6056

    文章

    44800

    瀏覽量

    643652
  • 嵌入式系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    3658

    瀏覽量

    130512
  • FSP
    FSP
    +關(guān)注

    關(guān)注

    0

    文章

    38

    瀏覽量

    7293

原文標(biāo)題:MCUboot系列(1-1)簡(jiǎn)介以及在RA FSP上的支持

文章出處:【微信號(hào):瑞薩MCU小百科,微信公眾號(hào):瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 0人收藏

    評(píng)論

    相關(guān)推薦

    四種支持向量機(jī)用于函數(shù)擬合與模式識(shí)別的Matlab示例程序

    四種支持向量機(jī)用于函數(shù)擬合與模式識(shí)別的Matlab示例程序,內(nèi)容主要在個(gè)文件夾里面[hide] [/hide]
    發(fā)表于 03-13 15:46

    DDS AD9910的四種工作調(diào)制模式是什么意思

    DDS AD9910的四種工作調(diào)制模式是什么意思?說(shuō)是有單頻模式數(shù)字斜坡模式RAM模式 和并行模式
    發(fā)表于 07-16 19:37

    四種不同供電模式的LED拓?fù)?b class='flag-5'>介紹

    。可根據(jù)轉(zhuǎn)換器輸入電壓范圍確定輸出電壓是否始終保持較大值、較小值或者介于這兩者之間。 圖11為L(zhǎng)ED供電的四種常用拓?fù)洌旅婢蛠?lái)對(duì)這四種拓?fù)溥M(jìn)行
    發(fā)表于 10-10 15:07

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

    STM32芯片的GPIO一共有8配置模式,對(duì)8模式的理解如下1.四種輸入
    發(fā)表于 05-21 07:55

    單片機(jī)四種輸入模式

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

    變頻器主要支持四種模式

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

    介紹AUTOSAR支持四種功能安全機(jī)制

    1、AUTOSAR的四種功能安全機(jī)制雖然AUTOSAR不是一個(gè)完整的安全解決方案,但它提供了一些安全機(jī)制用于支持安全關(guān)鍵系統(tǒng)的開(kāi)發(fā)。本文用于介紹AUTOSAR
    發(fā)表于 06-10 17:33

    二維碼的四種主要應(yīng)用模式

    本文介紹二維碼主要的四種應(yīng)用模式,包括讀取數(shù)據(jù)模式、解碼上網(wǎng)模式、解碼驗(yàn)證模式、解碼通信
    發(fā)表于 01-25 11:52 ?3563次閱讀

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

    WIFI模塊常見(jiàn)的四種工作模式:透?jìng)?b class='flag-5'>模式、串口指令模式、HTTPD Client模式、GPIO模式
    發(fā)表于 01-19 14:45 ?2.8w次閱讀

    IEC 61851標(biāo)準(zhǔn)中的四種EV充電模式

    在本文中,我們將了解國(guó)際電工委員會(huì) (IEC) 規(guī)定的不同 EV 充電模式。這些模式在處理電動(dòng)汽車(chē)傳導(dǎo)充電系統(tǒng)的 IEC 61851 標(biāo)準(zhǔn)中指定。該標(biāo)準(zhǔn)描述了四種不同的充電模式,稱為
    的頭像 發(fā)表于 06-24 15:06 ?1w次閱讀
    IEC 61851標(biāo)準(zhǔn)中的<b class='flag-5'>四種</b>EV充電<b class='flag-5'>模式</b>

    GPIO的四種輸入模式介紹

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

    淺析電子負(fù)載常見(jiàn)的的四種工作模式

    淺析電子負(fù)載常見(jiàn)的的四種工作模式 電子負(fù)載是電子設(shè)備的一,用于模擬負(fù)載并測(cè)試電源的性能。它在電子行業(yè)和電力領(lǐng)域有廣泛的應(yīng)用。電子負(fù)載常見(jiàn)的四種工作
    的頭像 發(fā)表于 01-22 13:43 ?3659次閱讀

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

    介紹MCUboot支持四種升級(jí)模式,分別是Overwrite、Swap、Direct XIP和
    的頭像 發(fā)表于 06-13 10:56 ?1434次閱讀
    <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'>升級(jí)</b><b class='flag-5'>模式</b>(2)

    MCUboot Swap模式升級(jí)的流程和注意事項(xiàng)

    前面介紹MCUboot的基礎(chǔ)知識(shí)(請(qǐng)查看上方“簡(jiǎn)介以及在RA FSP上的支持”文章),上次介紹了Overwrite模式(請(qǐng)查看上方“RA
    的頭像 發(fā)表于 06-13 16:01 ?1227次閱讀
    <b class='flag-5'>MCUboot</b> Swap<b class='flag-5'>模式</b><b class='flag-5'>升級(jí)</b>的流程和注意事項(xiàng)

    變頻器主要支持四種模式?有什么區(qū)別?

    變頻器作為現(xiàn)代工業(yè)自動(dòng)化領(lǐng)域中的關(guān)鍵設(shè)備,其控制模式的多樣性和靈活性對(duì)于滿足不同應(yīng)用場(chǎng)景的需求至關(guān)重要。變頻器主要支持四種控制模式:無(wú)PG的V/F
    的頭像 發(fā)表于 04-16 18:22 ?62次閱讀
    變頻器主要<b class='flag-5'>支持</b>哪<b class='flag-5'>四種</b><b class='flag-5'>模式</b>?有什么區(qū)別?
    主站蜘蛛池模板: 被cao到合不拢腿腐男男 | 在线一级毛片 | 欧美一区二区三区高清视频 | 国产人成精品香港三级古代 | 国产精品你懂的 | 一级一级一片免费高清 | 久久伊人精品青青草原高清 | 色妇网 | xxxxxxxx日本69 | 99久久久久国产精品免费 | 欧美巨波霸乳影院67194 | 欧美日韩亚洲国产一区二区综合 | 色吧视频| 久久夜色精品国产噜噜小说 | 日本精品一在线观看视频 | 欧美1024| 中文字幕天天躁夜夜狠狠综合 | 成人黄色免费观看 | 永久看片 | 图片区网友自拍另类图区 | 亚洲成人免费在线 | 久久国产成人精品国产成人亚洲 | 黄色大片视频 | 一区| 久久综合色综合 | 久久久噜噜噜 | 亚洲福利视频一区 | 国产一级特黄高清在线大片 | 成年黄网站免费大全毛片 | 综合亚洲一区二区三区 | 国产精品视频一区二区三区 | 天天天天色 | 亚洲三级免费观看 | 日日爽视频 | 老师我好爽再深一点好大 | 美女视频大全美女视频黄 | 中文天堂在线最新2022更新 | 色天使久久综合网天天 | 韩国精品videosex性韩国 | 手机看片神马午夜片 | 99久久久精品|

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品