欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

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

RA Overwrite模式在FSP中的支持

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

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

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

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

MCUboot Overwrite模式解

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

初始狀態(tài)下,芯片中燒錄了Bootloader和Primary Slot,代碼從Bootloader處啟動,跳轉(zhuǎn)至Primary Slot中的User Application v1.0。在User Application v1.0運(yùn)行過程中,接收來自外部的更高版本Firmware v2.0,并燒寫到Secondary Slot中,燒寫完成后,執(zhí)行軟件復(fù)位Software reset,代碼重新從Bootloader開始運(yùn)行。此時Bootloader判斷Secondary Slot中代碼的版本(v2.0高于v1.0),檢查其完整性等等,校驗(yàn)通過后,將Primary Slot擦除,并將Secondary Slot中的內(nèi)容拷貝到Primary Slot中。之后跳轉(zhuǎn)至Primary Slot中的新代碼v2.0執(zhí)行。比較升級操作的初始狀態(tài)和終止?fàn)顟B(tài),發(fā)現(xiàn)Primary Slot中運(yùn)行的代碼從低版本的v1.0變?yōu)楦甙姹镜膙2.0。

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

1新建Bootloader并配置MCUboot參數(shù)

由于Bootloader是整個系統(tǒng)的關(guān)鍵,因此我們第一步創(chuàng)建Bootloader Project并配置一些關(guān)鍵選項如Flash Layout和加密算法等。

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

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

FSP中添加MCUboot

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

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

FSP中MCUboot

將所有的錯誤修正后,配置MCUboot的關(guān)鍵屬性。

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

FSP中MCUboot General屬性

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

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

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

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

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

FSP中MCUboot Signing and Encryption Options屬性

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

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

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

接下來配置Flash Layout

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

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

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

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

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

FSP中MCUboot Flash Layout設(shè)置

Bootloader Flash Area Size (Bytes):

設(shè)定為0x10000即可

Image 1 Header Size (Bytes):

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

Image 1 Flash Area Size (Bytes):

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

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

至此,對于Bootloader的配置已經(jīng)完成了。

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

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

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

然后在hal_entry()入口處增加對函數(shù)mcuboot_quick_setup的調(diào)用。

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

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

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

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

Bootloader Project Build生成的.bld文件

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

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

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

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

    關(guān)注

    456

    文章

    51242

    瀏覽量

    427508
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1644

    瀏覽量

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

    關(guān)注

    0

    文章

    34

    瀏覽量

    7180

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

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

收藏 人收藏

    評論

    相關(guān)推薦

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

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

    RA系列使用FSP配置外設(shè)驅(qū)動相關(guān)資料介紹

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

    【瑞薩RA4系列開發(fā)板體驗(yàn)】基于Renesas FSP配置USART

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

    使用RA2E1 MCU和FSP實(shí)現(xiàn)超低設(shè)計

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

    【視頻教程】瑞薩RA單片機(jī)FSP開發(fā)(3)FSP架構(gòu)-解釋Blinky架構(gòu)[上]

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

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

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

    RA MCU CANFDFSP的配置詳解

    瑞薩RA系列MCU產(chǎn)品,目前RA4E2、RA4T1、RA6E2、
    的頭像 發(fā)表于 10-20 14:46 ?1460次閱讀
    <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輸出
    的頭像 發(fā)表于 08-01 00:13 ?817次閱讀
    使用瑞薩e2 studio <b class='flag-5'>FSP</b>基于<b class='flag-5'>RA</b>2E1定時器配置PWM輸出

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

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

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

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

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

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

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

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

    RA MCU CANFDFSP的配置詳解

    RA MCU CANFDFSP的配置詳解
    的頭像 發(fā)表于 06-19 08:06 ?624次閱讀
    <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增加對函數(shù)mcuboot_quick_setup()的調(diào)用。e2 studio界面下,Project Explorer中找到Developer
    的頭像 發(fā)表于 08-22 10:27 ?547次閱讀
    <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地址處)的中斷向量開始運(yùn)行,因此,調(diào)試Application Project時需要下載Bootloader文件,我們Application Project的Debug Configuration添加相關(guān)部分。
    的頭像 發(fā)表于 08-22 10:34 ?610次閱讀
    <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)