精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

RA Swap模式在FSP中的支持(1)

瑞薩MCU小百科 ? 來源:瑞薩MCU小百科 ? 2024-08-22 10:27 ? 次閱讀

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

wKgaomZqXzWAZWp7AAC9b8Lpmu4298.png

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

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

wKgZomZqXzaALuN6AAD4xhd7P8s122.png

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

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

wKgaombGopuAWS5rAAGAkPUoNIY990.png

Bootloader Project Build生成的.bld文件

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

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

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

2將Application Project和Bootloader關(guān)聯(lián)起來

接下來,我們要利用該Bootloader調(diào)試目標(biāo)Application Project,如何才能將Bootloader和Application關(guān)聯(lián)起來呢?就需要借助剛才提到的Bootloader Project Build所生成的***.bld文件。

除了新建Project,也可以將任意一個現(xiàn)有的Project跟Bootloader關(guān)聯(lián)起來,此時,該Project編譯的地址為Primary Slot起始地址加上Header大小。

Application Project會利用.bld中的內(nèi)容替代原始的鏈接腳本文件(linker script file)。編譯的起始地址來自標(biāo)號FLASH_IMAGE_START,圖中的值為0x00018200,可以看到,Header大小0x200已經(jīng)包含進(jìn)來。

另外,由于需要使用Python對Application Image進(jìn)行處理,因此需要在本地安裝Python以及相關(guān)插件的支持。該操作僅需執(zhí)行一次。

具體的步驟如下,在Project Tree界面下找到ramcu-toolsMCUbootscripts,鼠標(biāo)點擊右鍵,Command Window,則會在打開命令行界面,并進(jìn)入scripts文件夾。鍵入如下命令,安裝Python所需的lib。

pip3 install --user -r scripts/requirements.txt

wKgZomZpQWeAIOIXAAFp5KCqinU888.png

Python安裝所需Lib的提示信息

Python命令中包含e2 studio中的Placeholder,針對某個具體的Project,在執(zhí)行的時候會解析為Workspace下的Project路徑以及Project名稱。

通過環(huán)境變量將Application Project關(guān)聯(lián)起來

打開Application Project的屬性界面,在C/C++ Build → Build Variables下添加.bld文件。

wKgZombGorqAFd_8AAC5MLIZoRk825.png

添加.bld文件到Application Project的Build Variables

同時,對Application Project Image進(jìn)行簽名操作所需的公鑰放在Bootloader中,因此也需要將該文件鏈接到Application Project中,具體的實現(xiàn)方式如下:

wKgaombGosWANTBpAADFz29BWRI631.png

添加Public Key for Sign

注意,此時Public Key for Sign依然位于Bootloader Project所在路徑,該配置只是引入該文件的地址,使得在Application Project中調(diào)用Python腳本對Image進(jìn)行簽名操作時找到該Public Key。

另外,Image文件的版本信息可以通過添加Environment variable實現(xiàn),配置方式如下:

wKgaombGoySAME_uAADXqBRf9cw732.png

將Image版本號添加到Environment variable

最終生成的版本信息會以4字節(jié)添加到Header中。

為保證每次Environment variables有變化或者Bootloader生成的***.bld發(fā)生改變時,Application Project都可以重新編譯,需在Pre-build中增加以下內(nèi)容:

rm -f ${ProjName}.elf

wKgaombGotCAR9KlAAEs8NmCx0k204.png

Pre-build step添加刪除***.elf的操作

完成了以上的所有基礎(chǔ)配置后,可以編譯Application Project。在Console界面查看Build Log,可以發(fā)現(xiàn)編譯完成后,增加了對Image文件的處理。

wKgaombGo0aAGK3jAADBsqaQsG0068.png

對Image簽名操作對應(yīng)的Python內(nèi)容

此時生成的***.bin.signed文件包含了Header,TLV和Trailer等內(nèi)容,可以被Bootloader識別并運行。利用工具打開該文件,可以發(fā)現(xiàn)它不同于原始的Application Image文件:

wKgZombGo1GAA1iNAAAzylQHH2c961.png

.bin.signed文件結(jié)構(gòu)

開始的0x200字節(jié)是Header信息,在e2 studio中通過Environment variable傳入的版本信息1.0.0在0x14地址偏移上。關(guān)于其他部分的細(xì)節(jié),感興趣的朋友可自行查閱。

Application Image開始的0x200處,第二個4字節(jié)即當(dāng)前的中斷向量表起始地址,可以看到是小端格式的0x00018ab9,在Primary Slot地址空間(0x00018000~0x87FFF)內(nèi)。

未完待續(xù)

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

    關(guān)注

    0

    文章

    51

    瀏覽量

    12797
  • 源碼
    +關(guān)注

    關(guān)注

    8

    文章

    633

    瀏覽量

    29138
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4304

    瀏覽量

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

    關(guān)注

    0

    文章

    34

    瀏覽量

    7109

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

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

收藏 人收藏

    評論

    相關(guān)推薦

    如何實現(xiàn)linux中支持swap功能的呢?

    ,如何實現(xiàn)linux中支持swap功能的呢?1,嵌入式linux隨產(chǎn)品發(fā)布時,運行的邏輯往往是設(shè)計之初就確定了。因而在選擇內(nèi)存大小時,避免了可用內(nèi)存的不足的問題。因而不會出現(xiàn)
    發(fā)表于 11-05 07:05

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

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

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

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

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

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

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

    干貨分享 前篇回顧 【視頻教程】瑞薩RA單片機FSP開發(fā)(1)環(huán)境搭建(帶RASC) 【視頻教程】瑞薩RA單片機FSP開發(fā)(2)快速上手DM
    的頭像 發(fā)表于 12-06 12:15 ?867次閱讀

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

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

    RA MCU CANFDFSP的配置詳解

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

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

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

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

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

    RA Overwrite模式FSP支持

    前面介紹了MCUboot的基礎(chǔ)知識,您可通過上方鏈接回顧,本章將著重介紹其中的Overwrite模式,以及FSP如何配置、如Flash怎樣劃分、安全校驗的方式等。本文以
    的頭像 發(fā)表于 06-13 10:52 ?484次閱讀
    <b class='flag-5'>RA</b> Overwrite<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>

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

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

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

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

    RA MCU CANFDFSP的配置詳解

    RA MCU CANFDFSP的配置詳解
    的頭像 發(fā)表于 06-19 08:06 ?447次閱讀
    <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支持(2)

    由于芯片上電后需要從0地址(具體地說是0004h地址處)的中斷向量開始運行,因此,調(diào)試Application Project時需要下載Bootloader文件,我們Application Project的Debug Configuration添加相關(guān)部分。
    的頭像 發(fā)表于 08-22 10:34 ?464次閱讀
    <b class='flag-5'>RA</b> <b class='flag-5'>Swap</b><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)