chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

RA Overwrite模式在FSP中的支持

瑞薩嵌入式小百科 ? 來源:瑞薩MCU小百科 ? 2024-06-13 10:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

首先回顧一下Overwrite模式升級(jí)的流程。

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處啟動(dòng),跳轉(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)行。此時(shí)Bootloader判斷Secondary Slot中代碼的版本(v2.0高于v1.0),檢查其完整性等等,校驗(yàn)通過后,將Primary Slot擦除,并將Secondary Slot中的內(nèi)容拷貝到Primary Slot中。之后跳轉(zhuǎn)至Primary Slot中的新代碼v2.0執(zhí)行。比較升級(jí)操作的初始狀態(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ā)時(shí),Bootloader和User Application為相互獨(dú)立的Project,但位于同一個(gè)Workspace中。先Build Bootloader Project,然后Build位于Primary Slot的User Application Project,由于Bootloader規(guī)定了對(duì)于整個(gè)存儲(chǔ)空間的劃分,同時(shí)包含了對(duì)User Application Image進(jìn)行簽名/驗(yàn)簽所用的密鑰,因此Application Project會(huì)依據(jù)Bootloader build輸出的Bootloader Data File代替原有的Linker Script File(鏈接腳本文件)進(jìn)行l(wèi)ink,并利用Bootloader包含的密鑰進(jìn)行Image映像文件的處理。

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

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

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

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

FSP中添加MCUboot

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

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

FSP中MCUboot

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

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

FSP中MCUboot General屬性

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

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

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

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

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

FSP中MCUboot Signing and Encryption Options屬性

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

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

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

接下來配置Flash Layout

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

由于Bootloader占據(jù)從0地址開始的空間,而RA6M4在低地址上的8個(gè)block大小均為8KB,因此我們將Bootloader大小設(shè)定為64KB,即0x10000。由于高地址上的Block大小為32KB,因此對(duì)于1MB code flash的RA6M4來說,可以將剩下的30個(gè)(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,對(duì)于Cortex-M33內(nèi)核的產(chǎn)品,有中斷向量表對(duì)齊的要求,因此我們建議將Header size統(tǒng)一設(shè)定為0x200,以支持Application的所有中斷。

Image 1 Flash Area Size (Bytes):

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

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

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

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

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

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

然后在hal_entry()入口處增加對(duì)函數(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對(duì)Flash Layout的設(shè)定,F(xiàn)LASH_IMAGE_START值為0x00010200,即位于Primary Slot的Application Project實(shí)際Link(鏈接)地址。FLASH_IMAGE_LENGTH值為0x00077E00,即Primary Slot大?。?x78000)減掉Header Size(0x200)。

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

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

    關(guān)注

    463

    文章

    54010

    瀏覽量

    466114
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1748

    瀏覽量

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

    關(guān)注

    0

    文章

    48

    瀏覽量

    7739
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    RA MCU眾測(cè)寶典 | RA MCU上快速部署LWIP——以CPKCOR-RA8D1為例

    makeWorks在上一篇文章我們分享了RA上快速部署LVGL的案例,但是FSP豐富強(qiáng)大的功能還遠(yuǎn)不止于此,除了LVGL,LWIP也早已被FSP
    的頭像 發(fā)表于 12-24 12:06 ?5559次閱讀
    <b class='flag-5'>RA</b> MCU眾測(cè)寶典 | <b class='flag-5'>在</b><b class='flag-5'>RA</b> MCU上快速部署LWIP——以CPKCOR-<b class='flag-5'>RA</b>8D1為例

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

    1、RA系列使用 FSP 配置外設(shè)驅(qū)動(dòng) MDK 添加用于啟動(dòng)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è)計(jì)

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

    【視頻教程】瑞薩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 ?1923次閱讀

    RA MCU CANFDFSP的配置詳解

    瑞薩RA系列MCU產(chǎn)品,目前RA4E2、RA4T1、RA6E2、
    的頭像 發(fā)表于 10-20 14:46 ?3109次閱讀
    <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定時(shí)器配置PWM輸出

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

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

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

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

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

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

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

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

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

    RA MCU CANFDFSP的配置詳解

    RA MCU CANFDFSP的配置詳解
    的頭像 發(fā)表于 06-19 08:06 ?1703次閱讀
    <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增加對(duì)函數(shù)mcuboot_quick_setup()的調(diào)用。e2 studio界面下,Project Explorer中找到Developer
    的頭像 發(fā)表于 08-22 10:27 ?1514次閱讀
    <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時(shí)需要下載Bootloader文件,我們Application Project的Debug Configuration添加相關(guān)部分。
    的頭像 發(fā)表于 08-22 10:34 ?1706次閱讀
    <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)

    瑞薩FSP6.2:RA8新品支持與功能大升級(jí)!

    了6.2.0版本。最新版本的FSP不僅在硬件上支持所有主流RA料號(hào)與開發(fā)板,功能上也有了全面的升級(jí)與修復(fù)。它不僅提供生產(chǎn)就緒的外設(shè)驅(qū)動(dòng)程序和中間件,還著重強(qiáng)調(diào)開源生態(tài)
    的頭像 發(fā)表于 12-17 12:04 ?602次閱讀
    瑞薩<b class='flag-5'>FSP</b>6.2:<b class='flag-5'>RA</b>8新品<b class='flag-5'>支持</b>與功能大升級(jí)!