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

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命令的第一部分。

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

    關注

    459

    文章

    51825

    瀏覽量

    432154
  • FlaSh
    +關注

    關注

    10

    文章

    1653

    瀏覽量

    150445
  • FSP
    FSP
    +關注

    關注

    0

    文章

    36

    瀏覽量

    7291

原文標題: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 ?2255次閱讀
    使用<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 ?1036次閱讀

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

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

    RA MCU CANFDFSP的配置詳解

    瑞薩RA系列MCU產品,目前RA4E2、RA4T1、RA6E2、
    的頭像 發表于 10-20 14:46 ?1651次閱讀
    <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 ?1009次閱讀
    使用瑞薩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 ?791次閱讀
    使用<b class='flag-5'>FSP</b>配置<b class='flag-5'>RA</b>的CAN模塊(上)

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

    使用FSP配置RA的CAN模塊
    的頭像 發表于 08-05 08:08 ?654次閱讀
    使用<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 ?1417次閱讀
    介紹MCUboot<b class='flag-5'>支持</b>的四種升級<b class='flag-5'>模式</b>(2)

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

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

    RA MCU CANFDFSP的配置詳解

    RA MCU CANFDFSP的配置詳解
    的頭像 發表于 06-19 08:06 ?772次閱讀
    <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 ?675次閱讀
    <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 ?730次閱讀
    <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)
    主站蜘蛛池模板: 亚洲一区日韩一区欧美一区a | 国产青草 | 美女视频黄a全部免费看小说 | h视频在线免费 | 久久综合亚洲 | 1024手机看片国产 | 在线播放黄色 | 久久免费手机视频 | 亚洲激情视频 | 一级做a爱 一区 | 免费一级毛片无毒不卡 | 国产在线h视频 | 美女扒开下面让男人捅 | 欧美精品黑人性xxxx | 国产精品免费拍拍拍 | 四虎永久在线精品国产免费 | 国产午夜亚洲精品 | 成人在线免费电影 | 日本a级影院 | 久久精品国产福利国产琪琪 | 国产高清视频在线免费观看 | 亚洲视频一区二区三区 | 欧美人与动欧交视频 | 亚洲精品香蕉婷婷在线观看 | 成人看的午夜免费毛片 | 亚洲国产成人久久一区www | 欧美成人精品一区二三区在线观看 | 毛片三级在线观看 | 欧美白人极品性喷潮 | 特黄色毛片| 亚洲伊人色一综合网 | 1024国产你懂的日韩 | 三区在线观看 | 天天插天天色 | 成人三级电影在线观看 | 他也色在线 | 深夜视频在线 | 国产三级 在线播放 | 狠狠干天天色 | 亚洲黄色第一页 | 91极品女神私人尤物在线播放 |