日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

在IAR Embedded Workbench for Renesas RH850中實現ROPI

IAR愛亞系統(tǒng) ? 來源:IAR愛亞系統(tǒng) ? 2026-01-10 15:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

隨著汽車智能化程度的提高,集成的ECU(Electronic Control Unit)數量不斷增加,OTA(Over-the-Air)技術變得越來越普遍,它允許車輛通過無線網絡接收軟件更新,從而實現功能升級和性能改進,提高了便利性。

根據硬件的不同特性,OTA有對應的實現策略:[1]

如果硬件支持A/B Swap,對應的應用程序只需要鏈接一次就可以在兩個不同的物理地址運行;

如果硬件不支持A/B Swap,對應的應用程序可以通過ROPI(Read-Only Position-Independent)的方式實現在不同的物理地址運行。

Renesas RH850系列MCU在汽車行業(yè)中廣泛使用,IAR Embedded Workbench for Renesas RH850是一套完整的集成開發(fā)環(huán)境,符合ISO 26262功能安全標準,支持Renesas RH850的編譯和調試。

本文主要介紹如何在IAR Embedded Workbench for Renesas RH850中實現ROPI。

01Renesas RH850 ROPI介紹

Renesas RH850 ROPI通過TP寄存器來實現,即對應代碼和常量的訪問不是通過絕對地址,而是通過基于TP的相對地址訪問:

7be4cc4c-eba8-11f0-92de-92fbcf53809c.png7c441b20-eba8-11f0-92de-92fbcf53809c.png

02在IAR Embedded Workbench for Renesas RH850中實現ROPI

在IAR Embedded Workbench for Renesas RH850中實現ROPI非常方便,只需要勾選對應的ROPI編譯選項(General Options > Position-independence > Code and read-only data):

7cac3494-eba8-11f0-92de-92fbcf53809c.png

下面通過一個簡單的例子介紹如何在IAR Embedded Workbench for Renesas RH850中實現ROPI。

假設對應Code Flash的地址區(qū)間是:0x00000000 ~ 0x001FFFFF (2MB)。其中Bootloader的地址區(qū)間是0x00000000 ~ 0x0001FFFF (128KB) ,而Application的地址區(qū)間分別為: 0x00020000 ~ 0x0010FFFF (960KB) 和0x00110000 ~ 0x001FFFFF (960KB) 。

Application鏈接的時候使用的地址區(qū)間0x00020000 ~ 0x0010FFFF:

define region ROM_1ST_region =mem:[from0x00020000to0x0010FFFF];
"RESET":place at addressmem:0x00020000
 {
  block .reset
 };

map文件顯示對應Application放到地址區(qū)間0x00020000 ~ 0x0010FFFF:

7d08fe2c-eba8-11f0-92de-92fbcf53809c.png7d6bb15c-eba8-11f0-92de-92fbcf53809c.png

在Bootloader調試選項(Debugger > Images > Download extra image)中添加對應Application.out文件并配置對應的Offset (0x00110000 - 0x00020000 = 0x000F0000):

7dca40fa-eba8-11f0-92de-92fbcf53809c.png

在Bootloader工程中下載調試來驗證對應Application是否支持ROPI。

Bootloader跳轉到Application的復位向量表地址0x00110000:

7e2e2eee-eba8-11f0-92de-92fbcf53809c.png7e8fb0b0-eba8-11f0-92de-92fbcf53809c.png

然后成功跳轉到Application的入口函數__iar_program_start:

7ef211ba-eba8-11f0-92de-92fbcf53809c.png

最后成功跳轉到main函數,說明對應Application成功實現ROPI(因為Application鏈接到地址區(qū)間0x00020000 ~ 0x0010FFFF,同樣可以在地址區(qū)間0x00110000 ~ 0x001FFFFF正常運行):

7f534b10-eba8-11f0-92de-92fbcf53809c.png

03注意事項

對應GP和TP寄存器通常來說會在啟動代碼里面初始化:

7fc12a18-eba8-11f0-92de-92fbcf53809c.png802c3c36-eba8-11f0-92de-92fbcf53809c.png

如果ROPI程序中有需要跳轉到其他非ROPI程序中使用絕對地址運行的函數(比如對應函數運行在RAM的絕對地址),那么在ROPI程序中需要使用__absolute關鍵字聲明對應函數:

808c6c0a-eba8-11f0-92de-92fbcf53809c.png

調試ROPI程序的時候,如果ROPI程序實際運行地址區(qū)間跟ROPI程序鏈接的地址區(qū)間不一樣的時候,需要配置對應的Offset(對應Offset的值是程序實際運行地址減去程序鏈接的地址)。另外Debug info only選項表示調試器只加載對應調試信息,而不下載對應程序。

80ecb15a-eba8-11f0-92de-92fbcf53809c.png

如果使用Renesas Smart Configurator生成對應的工程,由于Renesas Smart Configurator生成的r_cg_intvector.c文件里面中斷向量表的名字是INT_Vectors(而不是IAR默認的中斷向量表的名字),所以需要修改對應的r_cg_intvector.c文件,IAR里面的啟動文件cstartup.s和icf文件。

下面以RH850/F1KM-S2為例:

_cg_intvector.c文件:添加對應ROPI模式下的聲明,把對應INT_Vector[]和INT_Vectors_Init[]分別放到EIINTTBL和EIINTTBL.init section當中:

814c6852-eba8-11f0-92de-92fbcf53809c.png

cstartup.s:_interrupt_vector_table_core_1替換成_INT_Vectors, .table.interrupt_core_1.init替換成EIINTTBL.init:

81a866d4-eba8-11f0-92de-92fbcf53809c.png

icf文件:.table.interrupt_core_1替換成EIINTTBL,.table.interrupt_core_1.init替換成EIINTTBL.init:

820e8bbc-eba8-11f0-92de-92fbcf53809c.png82786b40-eba8-11f0-92de-92fbcf53809c.png82d51822-eba8-11f0-92de-92fbcf53809c.png

04總結

本文主要以RH850/F1KM-S2為例介紹了如何在IAR Embedded Workbench for Renesas RH850中實現ROPI。

參考文獻:

1.https://www.vector.com/us/en/products/application-areas/embedded-software/embedded-trends/ota-update-approaches/

2.RH850 User’s Manual: Software

3.IAR RH850 C/C++ Development Guide

4.IAR RH850 C-SPY Debugging Guide

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

    關注

    147

    文章

    19160

    瀏覽量

    404823
  • 嵌入式
    +關注

    關注

    5210

    文章

    20680

    瀏覽量

    337374
  • 寄存器
    +關注

    關注

    31

    文章

    5620

    瀏覽量

    130454
  • IAR
    IAR
    +關注

    關注

    5

    文章

    415

    瀏覽量

    38687

原文標題:在IAR Embedded Workbench for Renesas RH850中實現ROPI

文章出處:【微信號:IAR愛亞系統(tǒng),微信公眾號:IAR愛亞系統(tǒng)】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    瑞薩RH850P1M-C芯片或者RH850P系列誰用過,用什么配置軟件???

    最近在使用瑞薩RH850/P1M-C/R7F701374單片機,開發(fā)環(huán)境使用過CS+、e2 studio、IAR都有這個芯片型號。但是配置軟件卻沒看到有這個系列信號,我renesas
    發(fā)表于 01-18 10:00

    TRACE32支持RH850系列

      全新RH850MCU用于各種汽車車身應用,可提供諸多優(yōu)勢。RH850/F1x系列可分為三大類總共50多種產品,從低端到高端,品類齊全,包括RH850/F1L、RH850/F1M及
    發(fā)表于 09-12 19:02 ?22次下載

    RH850多核嵌入式目標的基于多核模型的開發(fā)

      Embedded Target for RH850 Multicore + Multirate,是更高版本的 Embedded Target for RH850 Multicore
    的頭像 發(fā)表于 04-29 14:39 ?5652次閱讀
    <b class='flag-5'>RH850</b>多核嵌入式目標的基于多核模型的開發(fā)

    IAR Systems開發(fā)工具3.10版IAR全面支持Renesas RH850

    IAR Systems 很高興地宣布推出全新的 3.10 版 IAR Embedded Workbench 以及 IAR 構建工具(
    發(fā)表于 07-10 14:36 ?3514次閱讀

    Renesas Flash Programmer V2.04 Flash memory programming software 用戶手冊 RH850, RX64x

    Renesas Flash Programmer V2.04 Flash memory programming software 用戶手冊 RH850, RX64x
    發(fā)表于 03-30 18:49 ?0次下載
    <b class='flag-5'>Renesas</b> Flash Programmer V2.04 Flash memory programming software 用戶手冊 <b class='flag-5'>RH850</b>, RX64x

    Renesas Flash Programmer V2.04 Flash memory programming software 用戶手冊 RH850, RX64x

    Renesas Flash Programmer V2.04 Flash memory programming software 用戶手冊 RH850, RX64x
    發(fā)表于 07-12 20:24 ?7次下載
    <b class='flag-5'>Renesas</b> Flash Programmer V2.04 Flash memory programming software 用戶手冊 <b class='flag-5'>RH850</b>, RX64x

    rh850與r7f7的關系 如何使用RH850系列MCU進行開發(fā)

    RH850系列是一種高性能的汽車微控制器系列,專為車身控制、發(fā)動機控制、電動驅動系統(tǒng)和安全系統(tǒng)等應用而設計。它采用了Renesas的RISC(Reduced Instruction Set
    的頭像 發(fā)表于 08-05 15:33 ?5393次閱讀
    <b class='flag-5'>rh850</b>與r7f7的關系 如何使用<b class='flag-5'>RH850</b>系列MCU進行開發(fā)

    rh850是什么架構?

    rh850是什么架構? RH850是一種高性能嵌入式處理器架構,由日本汽車電子控制系統(tǒng)公司 (Renesas Electronics) 開發(fā)。RH850架構是針對大型汽車系統(tǒng)設計的,旨
    的頭像 發(fā)表于 08-15 16:22 ?3620次閱讀

    RH850與RL78的區(qū)別

    RH850與RL78的區(qū)別 RH850和RL78是兩個不同系列的芯片,分別由日本的Renesas Electronics公司開發(fā)。雖然它們都是微控制器,但RH850主要應用于汽車電子和
    的頭像 發(fā)表于 08-15 16:22 ?4011次閱讀

    rh850與r7f7的關系

    rh850與r7f7的關系 RH850和R7F7是兩個系列的微控制器,它們都來自于日本電子元器件制造商Renesas Electronics。RH850是一款32位的汽車微控制器系列,
    的頭像 發(fā)表于 08-15 16:22 ?2996次閱讀

    rh850和arm的區(qū)別

    rh850和arm的區(qū)別 RH850和ARM是兩種不同的處理器架構。RH850是一款Renesas芯片家族,它基于32位RISC架構,廣泛應用于汽車電子和工業(yè)控制系統(tǒng)等領域。ARM也是
    的頭像 發(fā)表于 08-15 16:22 ?3524次閱讀

    rh850是什么系列單片機?

    rh850是什么系列單片機 RH850是一系列高性能單片機,由日本RENESAS公司生產,并且目前已成為全球范圍內廣泛應用的自主駕駛汽車控制器所采用的主要型號之一。RH850系列單片機
    的頭像 發(fā)表于 08-15 16:22 ?3263次閱讀

    rh850是什么芯片?

    rh850是什么芯片? RH850是一款高性能的32位RISC微處理器芯片。它由日本的瑞薩電子公司(Renesas Electronics)開發(fā)和推出,其系列產品電子系統(tǒng)和汽車領域得
    的頭像 發(fā)表于 08-15 16:22 ?5856次閱讀

    rh850是arm架構嗎?

    rh850是arm架構嗎? Rh850不是ARM架構,而是一種基于RISC架構的嵌入式微控制器。本文中,我們將深入探討RH850微控制器的特點、應用和發(fā)展前景。
    的頭像 發(fā)表于 08-15 16:23 ?4652次閱讀

    rh850的pflash和dflash數據分配

    是數據閃存。這兩種類型的閃存都是RH850微控制器的重要組件。本文中,我們將更深入地研究P-Flash和D-Flash存儲器及其數據分配。 P-Flash數據分配 P-Flash是存儲RH850
    的頭像 發(fā)表于 08-15 16:23 ?3943次閱讀
    北辰区| 永登县| 平顺县| 桂东县| 花莲市| 朔州市| 永城市| 固阳县| 微山县| 德化县| 盐池县| 勃利县| 乌拉特前旗| 拜城县| 濉溪县| 林州市| 鄂温| 正镶白旗| 珲春市| 威远县| 扶风县| 江油市| 雷州市| 娄底市| 利津县| 峡江县| 筠连县| 英山县| 邮箱| 遵义市| 九江县| 灌南县| 大丰市| 青岛市| 自治县| 云梦县| 绥宁县| 曲麻莱县| 务川| 万荣县| 承德县|