色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

RA Overwrite模式在FSP中的支持

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

前面介紹了MCUboot的基礎知識,您可通過上方鏈接回顧,本章將著重介紹其中的Overwrite模式,以及在FSP中如何配置、如Flash怎樣劃分、安全校驗的方式等。本文以RA6M4 1M Code Flash產品為例,使用Flat mode(不啟用TrustZone)說明Overwrite模式進行升級時的注意事項。

首先回顧一下Overwrite模式升級的流程。

3786f072-27a8-11ef-91d2-92fbcf53809c.png

MCUboot Overwrite模式解

從代碼框架來看,整體劃分為三部分,Bootloader,Primary Slot(保存了低版本的User Application v1.0)和Secondary Slot(保存了待更新的高版本User Application v2.0)。

初始狀態下,芯片中燒錄了Bootloader和Primary Slot,代碼從Bootloader處啟動,跳轉至Primary Slot中的User Application v1.0。在User Application v1.0運行過程中,接收來自外部的更高版本Firmware v2.0,并燒寫到Secondary Slot中,燒寫完成后,執行軟件復位Software reset,代碼重新從Bootloader開始運行。此時Bootloader判斷Secondary Slot中代碼的版本(v2.0高于v1.0),檢查其完整性等等,校驗通過后,將Primary Slot擦除,并將Secondary Slot中的內容拷貝到Primary Slot中。之后跳轉至Primary Slot中的新代碼v2.0執行。比較升級操作的初始狀態和終止狀態,發現Primary Slot中運行的代碼從低版本的v1.0變為高版本的v2.0。

在e2 studio中進行開發時,Bootloader和User Application為相互獨立的Project,但位于同一個Workspace中。先Build Bootloader Project,然后Build位于Primary Slot的User Application Project,由于Bootloader規定了對于整個存儲空間的劃分,同時包含了對User Application Image進行簽名/驗簽所用的密鑰,因此Application Project會依據Bootloader build輸出的Bootloader Data File代替原有的Linker Script File(鏈接腳本文件)進行link,并利用Bootloader包含的密鑰進行Image映像文件的處理。

1新建Bootloader并配置MCUboot參數

由于Bootloader是整個系統的關鍵,因此我們第一步創建Bootloader Project并配置一些關鍵選項如Flash Layout和加密算法等。

對于Bootloader Project,可以在e2 studio中新建并命名。在FSP的Stack選項卡下,點擊New Stack → Bootloader → MCUboot,即可將該功能添加進來。

379c8ac2-27a8-11ef-91d2-92fbcf53809c.png

FSP中添加MCUboot

添加MCUboot之后,由于它依賴一些底層驅動,如Flash,Crypto等,因此會在初始界面提示錯誤,按照提示信息逐個修復即可,此處不詳細展開。

37b809fa-27a8-11ef-91d2-92fbcf53809c.png

FSP中MCUboot

將所有的錯誤修正后,配置MCUboot的關鍵屬性。

37c33442-27a8-11ef-91d2-92fbcf53809c.png

FSP中MCUboot General屬性

展開Common選項下的General屬性,對于幾個可配置的關鍵選項,說明如下:

升級模式Upgrade Mode,可以從Overwrite、Swap和Direct XIP中選擇,此次選擇Overwrite Only。該選項是決定Bootloader大小的關鍵性因素,Overwrite模式最小,Swap模式最大。

Validate Primary Image,建議設定為Enabled,除非資源非常緊張,開啟這部分功能帶來的代碼量增加不過幾十字節而已。

Downgrade Prevention(Overwrite Only),假如設定為Disabled,則每次Secondary Slot中有新的Image,都會拷貝到Primary Slot中(安全校驗通過的前提下)。假如設定為Enabled,則Bootloader會檢查Secondary Slot中存儲的Image版本,高于Primary Slot中Image版本的情況下才會拷貝。可根據實際需要選擇。

37dfdf02-27a8-11ef-91d2-92fbcf53809c.png

FSP中MCUboot Signing and Encryption Options屬性

展開Common選項下的Signing and Encryption Options屬性,對于幾個可配置的關鍵選項,說明如下:

簽名類型Signature Type,規定了對于Application Image進行簽名所用的方式,可從None,ECDSA P-256,RSA 2048,RSA 3072四項中任選其一。假如使能簽名,則代碼量最小的是ECDSA P-256

Encryption Scheme,根據對于Application Image是否加密進行設定。默認是Disabled,假如使能,則可以從ECIES-P256和RSA-OAEP (RSA 2048 only)中任選其一。Encryption Enabled情況下,Bootloader代碼量會明顯增加

接下來配置Flash Layout

對于Flash Layout來說,由于升級模式已鎖定Overwrite,在此基礎上決定Bootloader的大小因素就只剩下校驗算法的選擇了。

由于Bootloader占據從0地址開始的空間,而RA6M4在低地址上的8個block大小均為8KB,因此我們將Bootloader大小設定為64KB,即0x10000。由于高地址上的Block大小為32KB,因此對于1MB code flash的RA6M4來說,可以將剩下的30個(37-8+1)Block等分,Primary Slot和Secondary Slot各占15 Blocks(0x78000字節)。

37f4e2da-27a8-11ef-91d2-92fbcf53809c.png

RA6M4線性模式下Code Flash地址空間

3867e802-27a8-11ef-91d2-92fbcf53809c.png

FSP中MCUboot Flash Layout設置

Bootloader Flash Area Size (Bytes):

設定為0x10000即可

Image 1 Header Size (Bytes):

前面的劃分Primary Slot和Secondary Slot包含Header,對于Cortex-M33內核的產品,有中斷向量表對齊的要求,因此我們建議將Header size統一設定為0x200,以支持Application的所有中斷。

Image 1 Flash Area Size (Bytes):

根據前面的計算結果,填入0x78000 (15個32K block)

由于Scratch Area僅針對Swap模式有效,因此在Overwrite模式下設定為0即可。

至此,對于Bootloader的配置已經完成了。

接下來我們需要在hal_entry.c中增加對函數mcuboot_quick_setup()的調用。在e2 studio界面下,Project Explorer中找到Developer Assistance找到Call Quick Setup,鼠標左鍵點選,保持左鍵按下的狀態,拖動到hal_entry.c文件的hal_entry()函數定義之前。

388006f8-27a8-11ef-91d2-92fbcf53809c.png

利用Developer Assistant向源碼中增加mcuboot_quick_setup定義

然后在hal_entry()入口處增加對函數mcuboot_quick_setup的調用。

389e4c62-27a8-11ef-91d2-92fbcf53809c.png

在hal_entry()入口處增加調用mcuboot_quick_setup

Build Project可以順利完成,提示“0 errors, 0 warnings”。在Debug文件夾下確認包含同名的***.bld文件,用文本編輯器打開,檢查內容。

38b2f5ae-27a8-11ef-91d2-92fbcf53809c.png

Bootloader Project Build生成的.bld文件

.bld文件是XML格式的,主要包含兩部分:

第一部分是symbol,主要包含Bootloader對Flash Layout的設定,FLASH_IMAGE_START值為0x00010200,即位于Primary Slot的Application Project實際Link(鏈接)地址。FLASH_IMAGE_LENGTH值為0x00077E00,即Primary Slot大小(0x78000)減掉Header Size(0x200)。

第二部分是對Application Image進行簽名所用到的Python命令,對于該命令來說,輸入是Application Project Build生成的原始Binary(二進制)文件,輸出是同名的簽名后的文件,后綴是.bin.signed。同時傳入的參數還有文件版本,簽名所用的密鑰等。由于RA6M4搭載了支持TrustZone的Cortex-M33內核,因此文件的結構包含了對TrustZone的支持。對于不啟用TrustZone的應用場景,我們僅需關注Python命令的第一部分。

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

    關注

    455

    文章

    50714

    瀏覽量

    423141
  • FlaSh
    +關注

    關注

    10

    文章

    1633

    瀏覽量

    147940
  • FSP
    FSP
    +關注

    關注

    0

    文章

    34

    瀏覽量

    7131

原文標題:MCUboot系列(2-1)RA Overwrite模式在FSP中的支持

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

收藏 人收藏

    評論

    相關推薦

    RA-Eco-RA4E2-64PIN-V1.0開發板試用】+小白折騰瑞薩RA系列全過程02

    下載支持WINDOWS的軟件!RA串口下載軟件 2 使用注意 以上四步不分先后,均可同時進行下載,之后可以依次進行安裝。 引腳配置請使用官方軟件進行配置,KEIL5修改再進行編譯會
    發表于 12-22 13:08

    RA系列使用FSP配置外設驅動相關資料介紹

    1、RA系列使用 FSP 配置外設驅動 MDK 添加用于啟動FSP的自定義命令打開 MDK,選擇 “Tools -> Custom
    發表于 07-14 10:53

    【瑞薩RA4系列開發板體驗】基于Renesas FSP配置USART

    ● Smart card interface● Manchester interface● Extended Serial interfacekeil工程,打開FSP配置:之后跳出FSP
    發表于 12-08 21:08

    使用RA2E1 MCU和FSP實現超低設計

      RA2E1 MCU 組評估套件 FPB-RA2E1實施各種連接器,允許訪問 RA2E1 MCU、板載 E2 仿真器、用戶開關、LED 上的所有引腳,以啟動 RA2E1 MCU 并使
    的頭像 發表于 04-25 10:10 ?2080次閱讀
    使用<b class='flag-5'>RA</b>2E1 MCU和<b class='flag-5'>FSP</b>實現超低設計

    【視頻教程】瑞薩RA單片機FSP開發(3)FSP架構-解釋Blinky架構[上]

    干貨分享 前篇回顧 【視頻教程】瑞薩RA單片機FSP開發(1)環境搭建(帶RASC) 【視頻教程】瑞薩RA單片機FSP開發(2)快速上手DMEO 本次課程通過創建Blinky案例來解讀
    的頭像 發表于 12-06 12:15 ?888次閱讀

    使用瑞薩e2 studio FSP基于RA2E1定時器配置PWM輸出

    瑞薩電子e2 studio FSP 瑞薩電子靈活配置軟件包(FSP)是一款增強型軟件包,旨在為使用瑞薩電子RA系列ARM微控制器的嵌入式系統設計提供簡單易用且可擴展的高質量軟件。全新
    的頭像 發表于 03-10 15:35 ?1418次閱讀

    RA MCU CANFDFSP的配置詳解

    瑞薩RA系列MCU產品,目前RA4E2、RA4T1、RA6E2、
    的頭像 發表于 10-20 14:46 ?1333次閱讀
    <b class='flag-5'>RA</b> MCU CANFD<b class='flag-5'>在</b><b class='flag-5'>FSP</b><b class='flag-5'>中</b>的配置詳解

    使用瑞薩e2 studio FSP基于RA2E1定時器配置PWM輸出

    使用瑞薩e2 studio FSP基于RA2E1定時器配置PWM輸出
    的頭像 發表于 08-01 00:13 ?716次閱讀
    使用瑞薩e2 studio <b class='flag-5'>FSP</b>基于<b class='flag-5'>RA</b>2E1定時器配置PWM輸出

    使用FSP配置RA的CAN模塊(上)

    使用FSP配置RA的CAN模塊
    的頭像 發表于 08-05 08:08 ?610次閱讀
    使用<b class='flag-5'>FSP</b>配置<b class='flag-5'>RA</b>的CAN模塊(上)

    使用FSP配置RA的CAN模塊(下)

    使用FSP配置RA的CAN模塊
    的頭像 發表于 08-05 08:08 ?479次閱讀
    使用<b class='flag-5'>FSP</b>配置<b class='flag-5'>RA</b>的CAN模塊(下)

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

    介紹MCUboot支持的四種升級模式,分別是Overwrite、Swap、Direct XIP和加載到RAM執行。由于FSP
    的頭像 發表于 06-13 10:56 ?906次閱讀
    介紹MCUboot<b class='flag-5'>支持</b>的四種升級<b class='flag-5'>模式</b>(2)

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

    前面介紹了MCUboot的基礎知識(請查看上方“簡介以及RA FSP上的支持”文章),上次介紹了Overwrite
    的頭像 發表于 06-13 16:01 ?806次閱讀
    MCUboot Swap<b class='flag-5'>模式</b>升級的流程和注意事項

    RA MCU CANFDFSP的配置詳解

    RA MCU CANFDFSP的配置詳解
    的頭像 發表于 06-19 08:06 ?517次閱讀
    <b class='flag-5'>RA</b> MCU CANFD<b class='flag-5'>在</b><b class='flag-5'>FSP</b><b class='flag-5'>中</b>的配置詳解

    RA Swap模式FSP支持(1)

    接下來我們需要在hal_entry.c增加對函數mcuboot_quick_setup()的調用。e2 studio界面下,Project Explorer中找到Developer
    的頭像 發表于 08-22 10:27 ?460次閱讀
    <b class='flag-5'>RA</b> Swap<b class='flag-5'>模式</b><b class='flag-5'>在</b><b class='flag-5'>FSP</b><b class='flag-5'>中</b>的<b class='flag-5'>支持</b>(1)

    RA Swap模式FSP支持(2)

    由于芯片上電后需要從0地址(具體地說是0004h地址處)的中斷向量開始運行,因此,調試Application Project時需要下載Bootloader文件,我們Application Project的Debug Configuration添加相關部分。
    的頭像 發表于 08-22 10:34 ?524次閱讀
    <b class='flag-5'>RA</b> Swap<b class='flag-5'>模式</b><b class='flag-5'>在</b><b class='flag-5'>FSP</b><b class='flag-5'>中</b>的<b class='flag-5'>支持</b>(2)
    主站蜘蛛池模板: 好色美女小雅| 妻子+免费观看完整| 99热6精品视频6| 亚洲AV午夜精品麻豆AV| 捏揉舔水插按摩师| 精品一产品大全| 丰满艳妇亲伦| 99久久99久久精品国产片果冻| 亚洲免费福利在线视频| 少妇伦子伦情品无吗| 欧美成人性色生活18黑人| 久久re视频这里精品青| 国产精品免费久久久久影院| 99热这里只就有精品22| 亚洲无碼网站观看| 小蝌蚪视频在线观看免费观看WWW| 蜜芽最新域名解析网站| 狠狠色综合7777久夜色撩人| 国产 亚洲 中文字幕 久久网| 这里只有精品在线视频| 亚洲高清视频在线观看| 婷婷色色狠狠爱| 日本中文字幕伊人成中文字幕| 美女诱惑性感揉胸| 玖玖爱这里只有精品视频| 娇喘嗯嗯 轻点啊视频福利| 波多久久亚洲精品AV无码| 最美白嫩的极品美女ASSPICS| 亚洲一区免费看| 亚洲精品拍拍央视网出文| 午夜国产视频| 無码一区中文字幕少妇熟女H| 日日噜噜夜夜躁躁狠狠| 日本一卡2卡3卡四卡精品网站| 欧美fxxx| 暖暖视频中国在线观看免费韩国| 麻豆精品传媒一二三区| 久久yy99re66| 久久婷婷五月综合色情| 久久国产欧美日韩精品免费| 九九在线中文字幕无码|