国产美女精品福利一区二区_国产尤物av尤物在线观看_中文字幕在线中文字幕二区_精品国产子伦久久久久久小说_手机在线黄色网址_亚洲一区二区精品

400-821-6015
行業(yè)資訊
您當(dāng)前的位置:首頁(yè) ? 行業(yè)資訊 ? 行業(yè)資訊
內(nèi)部資訊行業(yè)資訊

AUTOSAR功能安全機(jī)制(一)內(nèi)存分區(qū)與實(shí)現(xiàn)

發(fā)布日期:2022-10-11

1. 應(yīng)用軟件

    在AUTOSAR架構(gòu)中,應(yīng)用軟件位于RTE上方,由互連的AUTOSAR SWC組成,這些組件以原子方式封裝了應(yīng)用軟件功能的各個(gè)組成部分。

圖片

圖1:應(yīng)用程序軟件

     AUTOSAR SWC獨(dú)立于硬件,因此可以集成到任何可用的ECU硬件上。為了便于ECU內(nèi)部和內(nèi)部的信息交換,AUTOSAR SWC僅通過(guò)RTE進(jìn)行通信。

     AUTOSAR SWC包含許多提供內(nèi)部功能的函數(shù)和變量。AUTOSAR SWC的內(nèi)部結(jié)構(gòu),即其變量和函數(shù)調(diào)用,通過(guò)頭文件隱藏在公眾視野之外。只有外部RTE調(diào)用才會(huì)在公共接口上生效。

圖片

圖2:SWC

       AUTOSAR SWC還包含必須在運(yùn)行時(shí)調(diào)用的函數(shù)。這些C函數(shù)在AUTOSAR中稱為Runnables。

       Runnables不能由它們自己執(zhí)行;它們必須分配給 OS的可執(zhí)行實(shí)體。可以通過(guò)將Runnables的函數(shù)調(diào)用插入OS任務(wù)主體來(lái)執(zhí)行此類分配。

       然后,Runnables在調(diào)用方OS-Task的上下文中循環(huán)執(zhí)行和/或事件驅(qū)動(dòng)。Runnables對(duì)任務(wù)的分配是根據(jù)圖3和圖4執(zhí)行的。

圖片

圖3:AUTOSAR分層軟件架構(gòu)-Runnables的映射


2. OS-Applications

    圖4顯示了對(duì)圖3中關(guān)系的解釋。根據(jù)此圖,AUTOSAR SWC中的Runnables被分配給 OS任務(wù)。

圖片

圖4:SWC到 OS-Applications的映射

     AUTOSAR OS-Applications是 OS對(duì)象(如任務(wù)、ISR、調(diào)度表、計(jì)數(shù)器和警報(bào))的集合,它們構(gòu)成了一個(gè)內(nèi)聚的功能單元。屬于同一 OS-Applications的所有對(duì)象都可以相互訪問(wèn)。

     OS-Applications中的 OS對(duì)象可能屬于不同的AUTOSAR SWC。RTE實(shí)現(xiàn)了一個(gè)內(nèi)存區(qū)域, OS-Applications的所有成員都可以不受限制地訪問(wèn)該區(qū)域,以方便SWC之間有效地進(jìn)行通信。

     OS-Applications有兩類:

  1. 受信任的 OS-Applications:“允許受信任的 OS-Applications在運(yùn)行時(shí)禁用監(jiān)控或保護(hù)功能的情況下運(yùn)行。他們可能不受限地訪問(wèn)內(nèi)存和 OS模塊的API。受信任的 OS-Applications不需要在運(yùn)行時(shí)強(qiáng)制執(zhí)行其時(shí)序行為。當(dāng)處理器支持時(shí),它們被允許在特權(quán)模式下運(yùn)行。

  2. 不受信的 OS-Applications:“不允許在運(yùn)行時(shí)禁用監(jiān)控或保護(hù)功能的情況下運(yùn)行不受信的 OS-Applications。它們限制了對(duì)內(nèi)存的訪問(wèn),限制了對(duì) OS模塊的API的訪問(wèn),并在運(yùn)行時(shí)強(qiáng)制執(zhí)行其時(shí)序行為。當(dāng)處理器支持時(shí),不允許它們?cè)谔貦?quán)模式下運(yùn)行。


 3. 通信和代碼共享

     根據(jù)圖4和圖3,一個(gè) OS-Applications可以包含多個(gè)AUTOSAR SWC和關(guān)聯(lián)的Runnables。僅允許Runnables直接訪問(wèn)變量并在其各自的 SWC中執(zhí)行函數(shù)調(diào)用。

     SWC的內(nèi)部函數(shù)調(diào)用和變量不被其他 SWC公開(kāi)獲取,因?yàn)樗鼈兊亩x不由外部接口的頭文件提供,因此不能規(guī)劃通過(guò)變量直接通信并執(zhí)行其他 SWC的代碼。

     在圖5中,代碼共享示例對(duì)此進(jìn)行了說(shuō)明,代碼共享只允許在 SWC內(nèi)使用,而不允許在一個(gè)OS-Application的 SWC之間共享。與其他 SWC的通信應(yīng)通過(guò)RTE執(zhí)行。Runnable4可能無(wú)法執(zhí)行屬于SWC2.2的功能。

圖片

圖5:OS-Applications中的代碼共享


4. 應(yīng)用軟件中的內(nèi)存分區(qū)

    AUTOSAR ECU中的應(yīng)用軟件可以由與安全相關(guān)的 SWC和非安全相關(guān)的 SWC組成。應(yīng)根據(jù)ISO26262的要求,確保具有不同ASIL等級(jí)的 SWC之間的免干擾性。

    AUTOSAR OS通過(guò)將 OS-Applications放入獨(dú)占的內(nèi)存區(qū)域,從而不受與內(nèi)存相關(guān)的故障的干擾。此機(jī)制稱為內(nèi)存分區(qū)。OS-Applications之間彼此受到保護(hù),因?yàn)樵谝粋€(gè) OS-Applications的內(nèi)存分區(qū)中執(zhí)行的代碼不能修改其他內(nèi)存區(qū)域。AUTOSAR OS規(guī)范中的相應(yīng)要求如表1所示。

要求ID 要求文本
[SWS_Os_00207] OS模塊應(yīng)阻止對(duì) OS的寫入訪問(wèn)來(lái)自其他不受信的OS-Applications的應(yīng)用程序的私有數(shù)據(jù)分區(qū)。
[SWS_Os_00355] OS模塊應(yīng)阻止從其他不受信的 OS-Applications對(duì) OS-Applications的任務(wù)/2類ISR的所有私有堆棧進(jìn)行寫入訪問(wèn)。
[SWS_Os_00356] OS模塊應(yīng)阻止從其他不受信的 OS-Applications對(duì) OS-Applications的任務(wù)/2類ISR的所有私有數(shù)據(jù)分區(qū)進(jìn)行寫入訪問(wèn)。

              表1:AUTOSAR OS- OS-Applications的內(nèi)存分區(qū)

      應(yīng)用程序軟件可以由具有不同ASIL等級(jí)的 SWC組成。但是,具有不同ASIL分級(jí)的 SWC不應(yīng)分配給同一個(gè) OS-Applications。內(nèi)存分區(qū)不能提供分配給同一 OS-Applications的 SWC之間的免干擾性。OS僅阻止其他 OS-Applications執(zhí)行不正確的訪問(wèn)。不會(huì)阻止有故障的 SWC修改同一 OS-Applications中其他SWC的內(nèi)存區(qū)域。

      注意:有關(guān)任務(wù)級(jí)分區(qū)的詳細(xì)信息,請(qǐng)參閱后續(xù)分區(qū)。


5. SWC中的內(nèi)存分區(qū)

    混合ASIL SWC可能由具有不同ASIL評(píng)級(jí)的Runnable組成,因此需要一個(gè)支持不受這些Runnable之間干擾的執(zhí)行環(huán)境。由于以下原因,無(wú)法在不同的內(nèi)存分區(qū)中執(zhí)行一個(gè) SWC的不同Runnables:

    內(nèi)存分區(qū)在 OS-Applications級(jí)別執(zhí)行。如圖所示圖3和圖4,一個(gè) SWC只能分配給一個(gè)OS-Applications,因此只有一個(gè)內(nèi)存分區(qū)。此外, SWC的Runnables只能由一個(gè) OS-Applications的任務(wù)調(diào)用。

    如圖6所示, SWC的Runnables不能分發(fā)到多個(gè) OS-Applications的任務(wù)。

圖片

圖6:SWC與分區(qū)

      內(nèi)存分區(qū)不能用于分隔同一SWC中的Runnables。如果有必要讓 SWC包含具有不同ASIL的Runnable,并且這些Runnable需要免干擾的獨(dú)立執(zhí)行,那么在 OS-Applications級(jí)進(jìn)行內(nèi)存分區(qū)是不夠的,內(nèi)存分區(qū)必須在任務(wù)級(jí)別執(zhí)行。方法如圖7所示。

圖片

圖7:任務(wù)級(jí)分區(qū)

      與任務(wù)級(jí)別的內(nèi)存分區(qū)相關(guān)的要求列在表2的AUTOSAR OS規(guī)范中。使用弱詞“may”表明任務(wù)級(jí)分區(qū)的實(shí)現(xiàn)對(duì)于AUTOSAR OS是可選的。因此,并非每個(gè)AUTOSAR OS實(shí)現(xiàn)都支持任務(wù)級(jí)內(nèi)存分區(qū)。

要求ID 要求文本
[SWS_Os_00208] OS模塊可能會(huì)阻止從同一 OS-Applications中的所有其他任務(wù)/ISR寫入對(duì)非受信任應(yīng)用程序的任務(wù)/2類ISR的專用堆棧的寫入訪問(wèn)。
[SWS_Os_00195] OS模塊可能會(huì)阻止從同一 OS-Applications中的所有其他任務(wù)/ISR寫入對(duì)非受信任應(yīng)用程序的任務(wù)/2類ISR的私有數(shù)據(jù)分區(qū)的寫入訪問(wèn)。

                                表2:AUTOSAR OS要求–任務(wù)級(jí)的內(nèi)存分區(qū)


6. 內(nèi)存分區(qū)的實(shí)現(xiàn)

    可以使用內(nèi)存分區(qū)機(jī)制在系統(tǒng)和軟件級(jí)別上實(shí)現(xiàn)各種技術(shù)安全概念。

    圖8顯示了一個(gè)可能的實(shí)現(xiàn),而所有基礎(chǔ)軟件模塊都在一個(gè)受信任/監(jiān)控模式內(nèi)存分區(qū)中執(zhí)行(圖8中以紅色突出顯示)。某些SWC在邏輯上分組并放在單獨(dú)的非受信任/用戶模式內(nèi)存分區(qū)中(以綠色突出顯示)。選定的軟件模塊與基礎(chǔ)軟件模塊屬于同一可信/管理模式內(nèi)存分區(qū)(參見(jiàn)圖8中紅色高亮的第四個(gè)SWC)。可能有多個(gè)不受信的/用戶模式分區(qū),每個(gè)分區(qū)包含一個(gè)或多個(gè)SWC。

圖片

      在非受信任/用戶模式內(nèi)存分區(qū)中執(zhí)行SWCs會(huì)受到限制,不能修改其他內(nèi)存區(qū)域,而受信任/監(jiān)控程序內(nèi)存分區(qū)的SWCs的執(zhí)行不受限制。

      用于安全相關(guān)應(yīng)用的現(xiàn)代微控制器支持通過(guò)專用硬件(內(nèi)存保護(hù)單元(MPU))進(jìn)行內(nèi)存分區(qū)。

      注意:假設(shè)內(nèi)存分片將在具有MPU或類似硬件功能的微控制器上實(shí)現(xiàn)。

      使用典型的MPU實(shí)現(xiàn),不受信的應(yīng)用程序可以允許訪問(wèn)微控制器地址空間的多個(gè)分區(qū)。訪問(wèn)控制定義為讀取、寫入和執(zhí)行訪問(wèn)的組合。MPU的配置僅在監(jiān)控模式下是允許的。

      注意:在某些微控制器實(shí)現(xiàn)中,MPU集成在處理器內(nèi)核中。因此,MPU僅控制關(guān)聯(lián)內(nèi)核的訪問(wèn)。其他總線主站(如DMA控制器和其他內(nèi)核)不受此分段MPU實(shí)例的控制。

      下表和用例說(shuō)明了內(nèi)存保護(hù)單元的配置派生自系統(tǒng)要求時(shí)的一組可能方案。注意:對(duì)于正在使用的特定硬件設(shè)備的功能,此表可能不完整。

地址空間 理由 執(zhí)行
閃存 讀取、執(zhí)行和寫入訪問(wèn)不會(huì)修改閃存內(nèi)容。必須首先擦除閃存,并啟用其他機(jī)制才能寫入。注意:從安全角度來(lái)看,以下含義:讀取和執(zhí)行外來(lái)代碼可能用于獲取原本不適用于軟件的信息。 O O O
RAM 對(duì)RAM的寫入訪問(wèn)可能會(huì)導(dǎo)致內(nèi)存損壞,從而影響軟件的行為。 O X O
外設(shè) 即使從外設(shè)地址空間讀取,也可能產(chǎn)生副作用。例如通過(guò)對(duì)中斷控制器的讀取訪問(wèn)來(lái)執(zhí)行中斷確認(rèn),對(duì)外圍設(shè)備的讀取訪問(wèn)可能會(huì)導(dǎo)致I/O錯(cuò)誤。 X X X

                                      表3:內(nèi)存保護(hù)的配置方案

     圖標(biāo)說(shuō)明:

     X–需要保護(hù)

     O–可選保護(hù)

     注意:從性能角度來(lái)看,由于總線爭(zhēng)用、接口仲裁等原因,可能會(huì)產(chǎn)生副作用。

     用例1:SWC位于同一分區(qū)中。

  • 同一分區(qū)中的 SWC可以訪問(wèn)彼此的RAM區(qū)域,因此可能會(huì)損壞彼此的內(nèi)存內(nèi)容。

  • 根據(jù)定義, SWC無(wú)法訪問(wèn)外圍設(shè)備,因?yàn)樗鼈儾粦?yīng)了解底層微控制器架構(gòu)。當(dāng) SWC被允許直接訪問(wèn)外圍設(shè)備時(shí),可能會(huì)創(chuàng)建不安全的系統(tǒng)。
    用例2:不同分區(qū)中的 SWC。

  • 不同分區(qū)中的 SWC無(wú)法訪問(wèn)彼此的RAM區(qū)域,因此無(wú)法損壞彼此的內(nèi)存內(nèi)容。

  • 根據(jù)定義, SWC無(wú)法訪問(wèn)外圍設(shè)備,因?yàn)樗鼈儾粦?yīng)了解底層微控制器架構(gòu)。當(dāng) SWC被授予對(duì)外圍設(shè)備的直接訪問(wèn)權(quán)限時(shí),可能會(huì)創(chuàng)建可能不安全的系統(tǒng)。
    用例3:MCAL驅(qū)動(dòng)程序

  • MCAL驅(qū)動(dòng)程序是函數(shù)的集合,例如讀/寫/初始化。它們必須由另一個(gè)實(shí)體執(zhí)行,例如BSW或CDD。有關(guān)詳細(xì)信息,請(qǐng)參見(jiàn)圖8。

  • MCAL驅(qū)動(dòng)程序需要對(duì)相應(yīng)外設(shè)硬件模塊的外設(shè)空間進(jìn)行讀/寫訪問(wèn)。根據(jù)硬件架構(gòu),可能還需要處理器的監(jiān)控模式。


2.1.3檢測(cè)和響應(yīng)

      功能安全機(jī)制內(nèi)存分區(qū)通過(guò)限制對(duì)內(nèi)存和內(nèi)存映射硬件的訪問(wèn)來(lái)提供保護(hù)。在一個(gè)分區(qū)中執(zhí)行的代碼不能修改另一個(gè)分區(qū)的內(nèi)存。內(nèi)存分區(qū)可以保護(hù)只讀內(nèi)存段,以及保護(hù)內(nèi)存映射硬件。此外,在用戶模式下執(zhí)行的SWC對(duì)CPU指令的訪問(wèn)受到限制,例如重新配置。

      內(nèi)存分區(qū)機(jī)制可以在微控制器硬件(如內(nèi)存保護(hù)單元或內(nèi)存管理單元)的支持下實(shí)現(xiàn)。微控制器硬件必須由 OS進(jìn)行適當(dāng)配置,以便于檢測(cè)和防止不正確的內(nèi)存訪問(wèn)。然后監(jiān)控在不受信的/用戶模式內(nèi)存分區(qū)中SWC的執(zhí)行。

      如果內(nèi)存訪問(wèn)違規(guī)或非受信任/用戶模式分區(qū)中的CPU指令沖突,則錯(cuò)誤訪問(wèn)將被阻止,微控制器硬件會(huì)引發(fā)異常。OS和RTE通過(guò)執(zhí)行分區(qū)關(guān)閉或重新啟動(dòng)此分區(qū)的所有軟件分區(qū)來(lái)消除錯(cuò)誤的軟件分區(qū)。

      注意:OS的實(shí)際響應(yīng)可以通過(guò)保護(hù)掛鉤實(shí)現(xiàn)進(jìn)行配置。有關(guān)更多詳細(xì)信息,請(qǐng)參閱 OS SWS[i]文檔。

      注:AUTOSAR文檔“應(yīng)用程序級(jí)錯(cuò)誤處理說(shuō)明”[ii]提供了有關(guān)錯(cuò)誤處理的其他信息。在文檔中,解釋了如何執(zhí)行錯(cuò)誤處理以及可以從何處獲取所需數(shù)據(jù)(例如替代值)。此外,本文檔還提供了有關(guān)如何在AUTOSAR中執(zhí)行 OS-Applications/分區(qū)終止和重新啟動(dòng)的詳細(xì)說(shuō)明(用戶手冊(cè))。

2.1.4限制

     1. 具有相同ASIL分級(jí)的SWC的內(nèi)存分區(qū)。

         ISO26262標(biāo)準(zhǔn)要求不同ASIL等級(jí)[iii]的 SWC之間的免干擾性。但是,標(biāo)準(zhǔn)不要求在具有相同ASIL等級(jí)的 SWC之間的免干擾性。

         允許使用由大量 SWC組成的 OS-Applications。如果單個(gè) SWC導(dǎo)致沖突,從而導(dǎo)致關(guān)閉或重新啟動(dòng)整個(gè)內(nèi)存分區(qū),則此內(nèi)存分區(qū)的所有其他正常工作的SWC也會(huì)受到影響。

     2. 內(nèi)存分區(qū)不適用于受信任的 OS-Applications。

         受信任/監(jiān)控模式內(nèi)存分區(qū)的執(zhí)行不受 OS和某些MMU/MPU硬件實(shí)現(xiàn)的控制。

     3. 任務(wù)級(jí)別不支持內(nèi)存分區(qū)。

         任務(wù)級(jí)分區(qū)的實(shí)現(xiàn)對(duì)于AUTOSAR OS實(shí)現(xiàn)不是必需的。因此,可能不支持 OS-Applications中的免干擾性。

     4. 由于內(nèi)存分區(qū)導(dǎo)致的性能損失。

         根據(jù)應(yīng)用軟件的架構(gòu)以及微控制器硬件和 OS的實(shí)現(xiàn),使用內(nèi)存分區(qū)會(huì)降低性能。此損失隨著每個(gè)時(shí)間單位執(zhí)行的上下文切換數(shù)的增加而增加。

     5. 無(wú)基礎(chǔ)軟件分區(qū)。

         基礎(chǔ)軟件的當(dāng)前規(guī)范未指定來(lái)自不同供應(yīng)商的不同ASIL等級(jí)的基礎(chǔ) SWC的內(nèi)存分區(qū)。



轉(zhuǎn)自汽車電子與軟件

上海創(chuàng)程車聯(lián)網(wǎng)絡(luò)科技有限公司版權(quán)所有 滬ICP備11045498號(hào)-1   技術(shù)支持:網(wǎng)站建設(shè)
主站蜘蛛池模板: 91网站免费观看 | 99精品国产美女福到在线不卡 | 欧洲免费在线观看视频 | 97人妻精品一区二区三区 | a级爱爱视频 | 噜噜88av偷拍 | 色综合桃花网 | 国产精品av久久久久久网址 | 国产va香港va天堂va青草 | 男人插女人逼逼视频 | 国产午夜福利久久精品 | 无码免费视频AAAAAA片草莓 | 最新日本一道免费一区二区 | 久久久久久久国产毛片 | 色婷婷美国农夫综合激情亚洲 | 亚洲经典日韩欧美国产一区 | 老版包青天83版在线观看 | 内射少妇36P九色 | 奇米7777狠狠狠琪琪视频 | 黄色中文字幕在线观看 | 国产激情无码一区二区三区 | 学生的妈妈3在线 | 黄色a一级毛片 | 尤物AV无码国产在线观看 | 黄色视频网站夜夜嗨转域97 | 色婷婷久久久亚洲一区二区三区 | 我爱avav好色 | 无码丰满熟妇juliaann | 色女孩综合 | 精品国产精品网麻豆系列 | 欧美做爰又粗又大免费看软件 | 91精品在线?看视频 国产理论在线播放 | 97人人超 | 中文字幕精品在线观看 | 91.xxx.高清在线 | 麻豆乱码国产一区二区三区的优势 | 日日夜夜网 | 色综合激情一区二区三区 | 成人A片产无码免费视频奶头红杏 | 一级做a毛片 | 息与子五十路中文字幕 |