3調試Application Project
由于芯片上電后需要從0地址(具體地說是0004h地址處)的中斷向量開始運行,因此,調試Application Project時需要下載Bootloader文件,我們在Application Project的Debug Configuration中添加相關部分。
Application Project Debug Configuration Startup選項卡配置
增加對于Bootloader的加載,類型選項設定為Image and Symbols,這樣調試狀態下可以跟蹤Bootloader中代碼運行的狀態。
同時,將Application Project對應的***.elf → Load type設定為Symbols only,僅下載標號。由于加載了Application Project對應的symbol,因此我們可以調試時檢查代碼的運行狀態。但實際下載到code flash的內容是經過了Python腳本處理,增加了Header,TLV和Trailer等信息的***.bin.signed文件,因此可以通過Bootloader的安全校驗。
按下Debug按鈕,啟動調試,此時可以發現PC停在Bootloader的reset向量處。
調試Application Project
點擊Load Ancillary按鈕,將Application Project Debug文件夾下的***.bin.signed下載到芯片上,注意選擇地址為Primary Slot起始地址0x18000。
將1.0.0版本Image ***.bin.signed文件下載到Primary Slot的起始地址0x18000
在memory窗口檢查當前Primary Slot中的內容,可以看到Image版本為1.0.0。
PC Primary Slot中存儲了1.0.0版本的Image
點擊Resume,可以發現PC指針停在Primary Slot的Application Project Reset向量處,此時PC指針地址0x00018ab8位于Primary Slot地址空間范圍(0x18000~0x37FFF)。如下圖所示。
之后在任意時刻暫停,通過PC指針的地址空間范圍和對應的代碼標號可以發現PC已經運行在Application Project中了。
PC指針運行在Primary Slot中
再次點擊resume,則可以觀察到代碼運行在Primary Slot的Application Project中。
4升級并驗證
由于升級方式是基于應用層面的實現,因此依賴客戶的設計。如果需要展示,則建議參考下方鏈接Application Note中的內容,對應的示例代碼包含了遵循XModem協議利用UART傳輸Image。
RA6 MCU Advanced Secure Bootloader Design using MCUboot and Code Flash Dualbank Mode
在調試狀態下,可以通過將待更新的Image文件下載到Secondary Slot中,重啟即可使得升級生效。
在Application Project上稍作修改,比如原始的Project在EK-RA4M3上使三個LED(紅綠藍)一起閃爍,而我們將代碼更新為只有一個LED(藍色)閃爍。同時,將Image Version從1.0.0更改為1.1.0,重新Build Project,確認Debug文件夾下的.bin.signed重新生成了。
現在將1.1.0版本的Image燒錄到Secondary Slot中,點擊Load Ancillary,選中***.bin.signed,目標地址選擇0x48000。
將1.1.0版本Image下載到Secondary Slot中
下載成功后查看Memory中的內容,可以確認Secondary Slot存儲了1.1.0版本的Image。
Secondary Slot保存了1.1.0版本的Image
按下Reset按鈕,使得Bootloader運行,啟動代碼升級。
可以看到EK-RA4M3從三顆LED閃爍變為僅有一顆藍色LED閃爍,表明升級成功。
升級完成后查看Primary Slot和Secondary Slot,發現兩個Slot內容已經交換了。Primary Slot中保存了1.1.0版本的Image文件,而Secondary Slot中保存了1.0.0版本的Image文件,如下圖所示。
Primary Slot保存了1.1.0版本的Image,Secondary Slot保存了1.0.0版本的Image
-
芯片
+關注
關注
456文章
51192瀏覽量
427348 -
SWAP
+關注
關注
0文章
51瀏覽量
12919 -
bootloader
+關注
關注
2文章
235瀏覽量
45738 -
FSP
+關注
關注
0文章
34瀏覽量
7176
原文標題:MCUboot系列(3-3)RA Swap模式在FSP中的支持
文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
RA系列使用FSP配置外設驅動相關資料介紹
【瑞薩RA4系列開發板體驗】基于Renesas FSP配置USART
【RA4M2設計挑戰賽】智能家居助手之RA4M2移植FreeRTOS
【視頻教程】瑞薩RA單片機FSP開發(3)FSP架構-解釋Blinky架構[上]
使用瑞薩e2 studio FSP基于RA2E1定時器配置PWM輸出
RA Overwrite模式在FSP中的支持
![<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>](https://file1.elecfans.com/web2/M00/EE/25/wKgaomZqXzSAUxZRAAATebl6RjI832.png)
RA Swap模式在FSP中的支持(1)
![<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>(1)](https://file1.elecfans.com/web2/M00/EE/25/wKgaomZqXzWAZWp7AAC9b8Lpmu4298.png)
評論