国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

在IAR Embedded Workbench for Renesas RH850中實現ROPI

IAR愛亞系統 ? 來源:IAR愛亞系統 ? 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在汽車行業中廣泛使用,IAR Embedded Workbench for Renesas RH850是一套完整的集成開發環境,符合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的地址區間是:0x00000000 ~ 0x001FFFFF (2MB)。其中Bootloader的地址區間是0x00000000 ~ 0x0001FFFF (128KB) ,而Application的地址區間分別為: 0x00020000 ~ 0x0010FFFF (960KB) 和0x00110000 ~ 0x001FFFFF (960KB) 。

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

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

map文件顯示對應Application放到地址區間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鏈接到地址區間0x00020000 ~ 0x0010FFFF,同樣可以在地址區間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程序實際運行地址區間跟ROPI程序鏈接的地址區間不一樣的時候,需要配置對應的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

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

    關注

    147

    文章

    18924

    瀏覽量

    398005
  • 嵌入式
    +關注

    關注

    5198

    文章

    20442

    瀏覽量

    333973
  • 寄存器
    +關注

    關注

    31

    文章

    5608

    瀏覽量

    129964
  • IAR
    IAR
    +關注

    關注

    5

    文章

    410

    瀏覽量

    38537

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

    TRACE32支持RH850系列

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

    RH850多核嵌入式目標的基于多核模型的開發

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

    IAR Systems開發工具3.10版IAR全面支持Renesas RH850

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

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

    Renesas Flash Programmer V2.04 Flash memory programming software 用戶手冊 RH850, RX64x
    發表于 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
    發表于 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進行開發

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

    rh850是什么架構?

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

    RH850與RL78的區別

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

    rh850與r7f7的關系

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

    rh850和arm的區別

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

    rh850是什么系列單片機?

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

    rh850是什么芯片?

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

    rh850是arm架構嗎?

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

    rh850的pflash和dflash數據分配

    是數據閃存。這兩種類型的閃存都是RH850微控制器的重要組件。本文中,我們將更深入地研究P-Flash和D-Flash存儲器及其數據分配。 P-Flash數據分配 P-Flash是存儲RH850
    的頭像 發表于 08-15 16:23 ?3288次閱讀