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

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

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

詳細(xì)介紹RH850U2A芯片相關(guān)的功能

工程師鄧生 ? 來源:汽車電子嵌入式 ? 作者:Tomas Li ? 2022-08-31 10:30 ? 次閱讀

前言

RH850U2A芯片瑞薩公司針對電控類域控制器而發(fā)布的一塊最新MCU芯片,功能及其強(qiáng)大。本系列文章講詳細(xì)介紹RH850U2A相關(guān)的功能,本文為RH850U2A-MPU功能詳解。

a4f70d40-28b8-11ed-ba43-dac502259ad0.png

正文

1.MPU功能簡述

MPU保護(hù)與當(dāng)前執(zhí)行的代碼“不相關(guān)“的所有數(shù)據(jù)?!安幌嚓P(guān)”是相關(guān)內(nèi)存地址的權(quán)限受限制,或者是程序訪問內(nèi)存地址的范圍于其無關(guān),阻止關(guān)鍵數(shù)據(jù)被破壞,使嵌入式系統(tǒng)更加健壯與安全。

MPU作用主要有兩個方面:為兩個保護(hù),一個檢測

1)MPU的保護(hù)作用

指訪問區(qū)域的保護(hù)和讀寫區(qū)域的保護(hù)。

① 訪問區(qū)域的保護(hù)。

可以將內(nèi)存區(qū)域劃為特權(quán)區(qū)域和普通區(qū)域,特權(quán)區(qū)域只有特權(quán)用戶才能訪問,普通用戶被禁止訪問,以此來保護(hù)特定的數(shù)據(jù)。

常見的應(yīng)用場景:

1> 對帶系統(tǒng)的來說,可以設(shè)置數(shù)據(jù),以防止用戶應(yīng)用程序破壞操作系統(tǒng)使用過程中的數(shù)據(jù)。

2> 隔離任務(wù),以防止一個任務(wù)訪問其他任務(wù)的數(shù)據(jù)。

3> 將SRAM或者RAM空間定義為不可執(zhí)行,防止代碼注入。

② 讀寫區(qū)域的保護(hù)。

設(shè)置指定的區(qū)域為只讀,可以有效的防止比較關(guān)鍵的數(shù)據(jù)被錯誤修改。

2)MPU的檢測功能

指可以檢測堆和棧的溢出情況及數(shù)組有沒有越界。

功能安全中對內(nèi)存分區(qū)MPU的相關(guān)描述:汽車ECU軟件是高度模塊化的嵌入式軟件,其功能實現(xiàn)是可以為非功能安全,和功能安全的SWC組合,它們分別擁有不同的ASIL安全等級。

根據(jù)ISO26262,如果嵌入式軟件包含不同ASIL等級的SWC,要么整個軟件工程都需要基于最高安全等級的要求進(jìn)行開發(fā),需要保證擁有更高安全等級的SWC的操作不會受到其他SWC的干擾,也即需要做到FFI(Freedom from interference)的設(shè)計。

基于更低安全等級要求開發(fā)的SWC,可能會出現(xiàn)錯誤地訪問到更高安全等級SWC的內(nèi)存區(qū)域,產(chǎn)生干擾。

為此,SWC需要運(yùn)行在不同的內(nèi)存區(qū)域,或者不同的內(nèi)存分區(qū),來防止類似的內(nèi)存訪問違例。

ISO26262中,以下內(nèi)存相關(guān)的故障影響被視為SWC之間產(chǎn)生干擾的原因:

-內(nèi)容損壞

-讀寫區(qū)域?qū)儆诹硪粋€SWC

-數(shù)據(jù)不一致

-棧溢出或棧下溢

要滿足上述定義,是MPU內(nèi)存保護(hù)的目標(biāo), 也可以通過限制對于內(nèi)存以及內(nèi)存對應(yīng)的硬件的訪問。

這里的內(nèi)存分區(qū)意味著:

各OS Application運(yùn)行在相互保護(hù)(不干涉)的內(nèi)存區(qū)域 ,在某一個分區(qū)上運(yùn)行的代碼,無法修改另一個分區(qū)的內(nèi)存。

內(nèi)存分區(qū)也可以保護(hù)只讀內(nèi)存段(例如代碼執(zhí)行)以及內(nèi)存對應(yīng)的硬件。

內(nèi)存分區(qū)和用戶/特權(quán)模式可以保證SWC之前互不干擾——即使某一個SWC出現(xiàn)了內(nèi)存相關(guān)的故障,也不會對其他軟件模塊有影響。

如果一個SWC運(yùn)行在用戶模式,那么它對CPU資源/指令的訪問也是受限制的。

MPU的微控制器有專用的硬件:即內(nèi)存保護(hù)單元(MPU),來支持內(nèi)存分區(qū)。

2.RH850內(nèi)存保護(hù)單元架構(gòu)

RH850U2A芯片具有內(nèi)存保護(hù)/保護(hù)功能,防止對內(nèi)存數(shù)據(jù)的錯誤訪問,并控制外圍模塊的寄存器。下圖1顯示了內(nèi)存保護(hù)的整體架構(gòu)。每個可編程核心(總線主機(jī))都有一個內(nèi)存保護(hù)單元(MPU),它定義了軟件訪問保護(hù)。此外,每個資源(總線從設(shè)備)都有一個守衛(wèi)來控制任何總線主設(shè)備的訪問,包括那些沒有MPU的,比如DMA。

a524f598-28b8-11ed-ba43-dac502259ad0.png

3.使用RH850U2A的MPU

3.1RH850U2A的MPU配置過程

1)第一步,配置MPIDn寄存器。在使能了MPU功能后,哪些硬件模塊還可以訪問所有的內(nèi)存保護(hù)區(qū)域。

2)第二步,配置MPIDX寄存器。配置每一個內(nèi)存保護(hù)塊的時候,需要先配置MPIDX寄存器直沒entry ID。

3)第三步,配置MPLA寄存器。配置每一個內(nèi)存保護(hù)塊的Minimum地址。

4)第四步,配置MPUA寄存器。配置每一個內(nèi)存保護(hù)塊的Maximum地址。

5)第五步,配置MPAT寄存器。配置每一個內(nèi)存保護(hù)塊的USER/SVP模式下的可讀、可寫、可執(zhí)行的屬性。

6)第6步,配置MPM寄存器。使能MPU功能。

a54a4f14-28b8-11ed-ba43-dac502259ad0.png

3.2 RH850U2A-MPU相關(guān)寄存器配置使用的指令

a57547f0-28b8-11ed-ba43-dac502259ad0.png

使用 void __LDSR(int regID, int selID, unsigned int val);

Note: 什么是寄存器的regID和sellD? -- __LDSR()函數(shù)接受一個32位整數(shù)參數(shù)(作為它的最后一個參數(shù)),并將其存儲到系統(tǒng)寄存器中,與它的第一個參數(shù)指定的數(shù)字相對應(yīng),該參數(shù)必須立即是一個常量。在RH850和以后的處理器上,它還需要另一個參數(shù),該參數(shù)指定寄存器組號,它必須立即是一個常量。簡單來講regID就是寄存器ID,sellD就是寄存器所在的組ID。

a5a5edc4-28b8-11ed-ba43-dac502259ad0.png

3.3 配置MPID寄存器

MPID寄存器配置哪一些模塊可以直接訪問內(nèi)存保護(hù)區(qū)域。

a5d86e2a-28b8-11ed-ba43-dac502259ad0.png

下表記錄了有哪些SPID可以配置為直接訪問內(nèi)存保護(hù)區(qū)域。

a5f90f0e-28b8-11ed-ba43-dac502259ad0.png

示例:__LDRS(24, 5, 0)//CPU0可以訪問保護(hù)區(qū)域

3.4配置MPIDX寄存器

每一個內(nèi)存保護(hù)塊都有一個IDX(最多32個,0-31),在配置每一個內(nèi)存保護(hù)塊的訪問屬性的時候,首先要配置MPIDX寄存器。

a61f21bc-28b8-11ed-ba43-dac502259ad0.png

示例:__LDRS(16,5,0);//通過MPIDX寄存器配置第一個entry的IDX。

3.5配置MPLA寄存器

MPLA配置當(dāng)前內(nèi)存保護(hù)塊(MPIDX == 0-31)的起始地址(Minimum Address)

a634b054-28b8-11ed-ba43-dac502259ad0.png

示例:__LDRX(20,5, 0x00007F00);

3.6配置MPUA寄存器

MPLA配置當(dāng)前內(nèi)存保護(hù)塊(MPIDX == 0-31)結(jié)束地址(Maximum Address)。

a660a1aa-28b8-11ed-ba43-dac502259ad0.png

示例:__LDRS(20,5,0x00017FFC);

3.7 配置MPAT寄存器

MPAT寄存器配置每一個內(nèi)存保護(hù)塊的訪問屬性(user模式下的可讀UR、可寫UW、可執(zhí)行UX; supervisor模式下的可讀SR、可寫SW、可執(zhí)行SX)。

a6942854-28b8-11ed-ba43-dac502259ad0.png

a6cd2884-28b8-11ed-ba43-dac502259ad0.png

a6ed821e-28b8-11ed-ba43-dac502259ad0.png

3.8 配置MPM寄存器

使能(Enable)MPU功能。

a70e1aba-28b8-11ed-ba43-dac502259ad0.png

4.內(nèi)存保護(hù)單元MPU異常提示信息

4.1 MDP/MIP Exception

產(chǎn)生內(nèi)存保護(hù)后會產(chǎn)生MIP/MDP Exception(異常中斷地址偏移,0x90,如果我們設(shè)置EBASE為0x00080000,那么異常中斷的絕對地址就是0x00080090)。

a72ce3fa-28b8-11ed-ba43-dac502259ad0.png

在MIP/MDP Exception的異常中斷處理函數(shù)匯總一般會條用_Os_Abort觸發(fā)OS調(diào)用ShutdownHook函數(shù),在這個函數(shù)里面我們可以做一些故障信息保存動作。

4.2 MEA和MEI寄存器

產(chǎn)生了MIP/MDP異常之后,MEA寄存器會存儲異常地址,MEI寄存器會存儲異常指令。

a7534054-28b8-11ed-ba43-dac502259ad0.png

a7840324-28b8-11ed-ba43-dac502259ad0.png

5.總結(jié)

本文介紹了MPU的基本原理,以及結(jié)合RH850U2A芯片詳細(xì)介紹了MPU的配置使用過程,同時介紹了MPU保護(hù)功能產(chǎn)生后如何去識別異常信息。MPU在實際項目功能中非常的有用,如果使能了MPU,同時能通過有效的方法記錄MPU異常中斷時的MEI/MEA寄存器的信息,那么在發(fā)生了異常復(fù)位后就能通過歷史信息來定位復(fù)位的SWC(實際項目中不可能一直都有仿真的機(jī)會,所以這個功能非常的重要)。

Note: MPU的配置及使能一般都是在EcuM_Init之前完成。



審核編輯:劉清

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

    關(guān)注

    112

    文章

    16090

    瀏覽量

    177014
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5290

    瀏覽量

    119786
  • MPU6050
    +關(guān)注

    關(guān)注

    39

    文章

    307

    瀏覽量

    71070
  • MCU芯片
    +關(guān)注

    關(guān)注

    3

    文章

    246

    瀏覽量

    11348

原文標(biāo)題:MPU功能詳解-以RH850U2A為例

文章出處:【微信號:汽車電子嵌入式,微信公眾號:汽車電子嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    MHMF082A1U2-MINAS A6N系列 介紹 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MHMF082A1U2-MINAS A6N系列 介紹相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有MHMF082
    發(fā)表于 10-29 19:23
    MHMF082<b class='flag-5'>A1U2</b>-MINAS <b class='flag-5'>A</b>6N系列 <b class='flag-5'>介紹</b> 松下

    MHMF042A1U2-MINAS A6N系列 介紹 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MHMF042A1U2-MINAS A6N系列 介紹相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有MHMF042
    發(fā)表于 09-27 19:07
    MHMF042<b class='flag-5'>A1U2</b>-MINAS <b class='flag-5'>A</b>6N系列 <b class='flag-5'>介紹</b> 松下

    經(jīng)緯恒潤正式發(fā)布HSM固件解決方案,適配瑞薩RH850-U2A/B系列芯片

    在智能網(wǎng)聯(lián)汽車時代浪潮下,數(shù)據(jù)安全與隱私保護(hù)成為行業(yè)發(fā)展的核心議題。面對日益嚴(yán)峻的安全挑戰(zhàn),經(jīng)緯恒潤積極響應(yīng)市場需求,正式推出基于瑞薩RH850-U2A/B系列芯片開發(fā)的HSM
    的頭像 發(fā)表于 09-13 08:00 ?461次閱讀
    經(jīng)緯恒潤正式發(fā)布HSM固件解決方案,適配瑞薩<b class='flag-5'>RH850-U2A</b>/B系列<b class='flag-5'>芯片</b>

    MHMF041A1U2-MINAS A6N系列 介紹 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MHMF041A1U2-MINAS A6N系列 介紹相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有MHMF041
    發(fā)表于 09-05 18:43
    MHMF041<b class='flag-5'>A1U2</b>-MINAS <b class='flag-5'>A</b>6N系列 <b class='flag-5'>介紹</b> 松下

    MHMF022L1U2-MINAS A6N系列 介紹 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MHMF022L1U2-MINAS A6N系列 介紹相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有MHMF022L1
    發(fā)表于 08-14 19:25
    MHMF022L1<b class='flag-5'>U2</b>-MINAS <b class='flag-5'>A</b>6N系列 <b class='flag-5'>介紹</b> 松下

    MHMF022A1U2-MINAS A6N系列 介紹 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MHMF022A1U2-MINAS A6N系列 介紹相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有MHMF022
    發(fā)表于 08-05 19:26
    MHMF022<b class='flag-5'>A1U2</b>-MINAS <b class='flag-5'>A</b>6N系列 <b class='flag-5'>介紹</b> 松下

    MHMF021L1U2-MINAS A6N系列 介紹 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MHMF021L1U2-MINAS A6N系列 介紹相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有MHMF021L1
    發(fā)表于 07-23 19:07
    MHMF021L1<b class='flag-5'>U2</b>-MINAS <b class='flag-5'>A</b>6N系列 <b class='flag-5'>介紹</b> 松下

    MHMF021A1U2-MINAS A6N系列 介紹 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MHMF021A1U2-MINAS A6N系列 介紹相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有MHMF021
    發(fā)表于 07-15 18:49
    MHMF021<b class='flag-5'>A1U2</b>-MINAS <b class='flag-5'>A</b>6N系列 <b class='flag-5'>介紹</b> 松下

    MHMF012A1U2-MINAS A6N系列 介紹 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MHMF012A1U2-MINAS A6N系列 介紹相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有MHMF012
    發(fā)表于 06-28 19:21
    MHMF012<b class='flag-5'>A1U2</b>-MINAS <b class='flag-5'>A</b>6N系列 <b class='flag-5'>介紹</b> 松下

    MHMF011L1U2-MINAS A6N系列 介紹 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MHMF011L1U2-MINAS A6N系列 介紹相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有MHMF011L1
    發(fā)表于 06-17 18:33
    MHMF011L1<b class='flag-5'>U2</b>-MINAS <b class='flag-5'>A</b>6N系列 <b class='flag-5'>介紹</b> 松下

    MHMF011A1U2-MINAS A6N系列 介紹 松下

    電子發(fā)燒友網(wǎng)為你提供Panasonic(Panasonic)MHMF011A1U2-MINAS A6N系列 介紹相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有MHMF011
    發(fā)表于 06-05 19:18
    MHMF011<b class='flag-5'>A1U2</b>-MINAS <b class='flag-5'>A</b>6N系列 <b class='flag-5'>介紹</b> 松下

    如何使用瑞薩RH850-F1KS4 Smart Configurator配置外設(shè)呢?

    本文將介紹如何使用瑞薩 RH850-F1KS4 Smart Configurator 配置外設(shè),如果需要使用 Y-ASK-RH850F1KM-S1-V3_Sample 工程包,可在瑞薩官方網(wǎng)站下載。
    的頭像 發(fā)表于 05-29 15:24 ?1543次閱讀
    如何使用瑞薩<b class='flag-5'>RH850</b>-F1KS4 Smart Configurator配置外設(shè)呢?

    RH850智能配置器e2studio用戶指南

    電子發(fā)燒友網(wǎng)站提供《RH850智能配置器e2studio用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 01-30 09:34 ?1次下載
    <b class='flag-5'>RH850</b>智能配置器e2studio用戶指南

    RH850系列CS V8.11.00 集成開發(fā)環(huán)境應(yīng)用介紹

    電子發(fā)燒友網(wǎng)站提供《RH850系列CS V8.11.00 集成開發(fā)環(huán)境應(yīng)用介紹.pdf》資料免費(fèi)下載
    發(fā)表于 01-29 11:38 ?0次下載
    <b class='flag-5'>RH850</b>系列CS V8.11.00 集成開發(fā)環(huán)境應(yīng)用<b class='flag-5'>介紹</b>

    RH850U2A芯片平臺Spinlock的底層實現(xiàn)分析

    LDL和STC指令可用于獲取原子讀-寫操作,用于多核系統(tǒng)對內(nèi)存更新進(jìn)行精確處理。LDL和STC指令的操作方式如下。
    的頭像 發(fā)表于 11-20 09:54 ?1447次閱讀
    <b class='flag-5'>RH850U2A</b><b class='flag-5'>芯片</b>平臺Spinlock的底層實現(xiàn)分析