400-821-6015
行(xíng)業(yè)資訊
您當前的(de)位置:首頁 » 行(xíng)↓€業(yè)資訊 » 行(xíng)業(yè)資訊
內(nèi)部資訊行(xíng)業(yè)資訊

AUTOSAR功能(néng)安全機(jī)制(zh§​ì)(一(yī))內(nèi)存分(fēn¶₩)區(qū)與實現(xiàn)

發布日(rì)期:2022-10-11

1. 應用(yòng)軟件(jiàn)

    在AUTOSAR架構中,應用(yòng)軟件(&§¥jiàn)位于RTE上(shàng)方,由互♦✔'連的(de)AUTOSAR SWC組成,這'♦ε₹(zhè)些(xiē)組件(jiàn)以原子(zǐ)方式封裝了(le)應用(yòn∞♣γg)軟件(jiàn)功能(néng)的(de)各個(gè)組成部分(fēn)。

圖片

圖1:應用(yòng)程序軟件(jiàn)

     AUTOSAR Sπ✘§∞WC獨立于硬件(jiàn),因此可(kě)以集成到(dào)任何可(kě)用(yòng)的(≈∑€φde)ECU硬件(jiàn)上(shàng)。為(wèi)了(♠‌​±le)便于ECU內(nèi)部和(hé)內(nèi)部的(de)信息交λ•£"換,AUTOSAR SWC僅通(tōng)過RTE進行(★×xíng)通(tōng)信。

     AUTOSAR SWC包含許₹λ多(duō)提供內(nèi)部功能(néng)的(de)函數‌∞•≠(shù)和(hé)變量。AUTOSAR SWC的(de)內(nè€≥¶δi)部結構,即其變量和(hé)函數(shù)調用₹ε®(yòng),通(tōng)過頭文(wén)件(jiàn ♣€)隐藏在公衆視(shì)野之外(wài)。隻有(δ→Ωyǒu)外(wài)部RTE調用(yòng)才會(huì)在公共接口上(shàδ&∞ng)生(shēng)效。

圖片

圖2:SWC

      ↑δ AUTOSAR SWC還(hái'σ÷↓)包含必須在運行(xíng)時(shí)調用(yòn™☆g)的(de)函數(shù)。這(zhè)些(xiē)C函數(shù)✔ ÷•在AUTOSAR中稱為(wèi)Runnables。

      σλ∞ Runnables不(bù)能(néng)由它們自(zì)己執行∞∏≥←(xíng);它們必須分(fēn)配給 OS的(de)可(kě)執行(xíng)實體(€'tǐ)。可(kě)以通(tōng)過将Runn ←™ables的(de)函數(shù)調用(yòng≠‍×≈)插入OS任務主體(tǐ)來(lái)執行(xíng)此類分(fēn)配。

      &n✘π'λbsp;然後,Runnables在調用(yòng)方γσOS-Task的(de)上(shàng)下(xià)文(wén)中循環執行(xíng)和(hé)/$‍‍或事(shì)件(jiàn)驅動。Runnables對(duì)任務的(de)分(fēn)配←≤是(shì)根據圖3和(hé)圖4執行(±∞≤xíng)的(de)。

圖片

圖3:AUTOSAR分(fēn)層軟件(jiàn)架構-Runnables的(de)映射


2. OS-Applications

    圖4顯示了(le)對(duì)圖3中關系的(de)解'∞釋。根據此圖,AUTOSAR SWC中的(de)Runnab↕↕les被分(fēn)配給 OS任務。

圖片

圖4:SWC到(dào) OS-Applications的(de)映射

     AUTOSAR OS-Applicatio&✘€ns是(shì) OS對(duì)象(如(rú)任務、ISR₹↓、調度表、計(jì)數(shù)器(qì)和(hé)警報✔♥£↕(bào))的(de)集合,它們構成了(le)一(yī)個(gè)內(nèi)聚的(de)功能(£↕ néng)單元。屬于同一(yī) OS-Application γ≤φs的(de)所有(yǒu)對(duì)象都(dōu)可(kě)以相(xiàng↑≈)互訪問(wèn)。

     OS-Applications中的 ₩'(de) OS對(duì)象可(kě)能(néng)屬于不(bù)同的 ©(de)AUTOSAR SWC。RTE實現(xiàn)¥←了(le)一(yī)個(gè)內(nèi)存區(q α✔₩ū)域, OS-Applications的(de)所有(yǒu)成員(y♦∏uán)都(dōu)可(kě)以不(bù)受限制(zhì)$‍₹≈地(dì)訪問(wèn)該區(qū)域,以方便SWC之間(jiān)有(yǒu)δ¶效地(dì)進行(xíng)通(tōng)信。

     OS-Applλ♥←ications有(yǒu)兩類:

  1. 受信任的(de) OS-Applications:“允許受信任←♥的(de) OS-Applications在運行(xí←∞αng)時(shí)禁用(yòng)監控或保護功能(néng)的(de)情況下(₩ ♠‌xià)運行(xíng)。他(tā)們可(kě)能(néng)不(bù)受限✔÷ε 地(dì)訪問(wèn)內(nèi)存和(hé) OS模塊的(de)API。受信任的₽ £ (de) OS-Applications不(bù)需要(yào)在運行(xíng)時(shí)強±₩γ​制(zhì)執行(xíng)其時(shí)序行(xíng)為(wèi)。當處理(lǐ)器(qì) ₩支持時(shí),它們被允許在特權模式下(xià)運行(xíng)。

  2. 不(bù)受信的(de) OS-Applicαβ↔ations:“不(bù)允許在運行(xíng)時(shí)禁用(yòng)監控或保護功能↑≤ ¥(néng)的(de)情況下(xià)運行(xíng)不(bù)受信的(de)☆≈σ OS-Applications。它們限制(zhì)£•λ了(le)對(duì)內(nèi)存的(de)訪問(wèn),限制(zhì)了(le)對(d↔→uì) OS模塊的(de)API的(de)訪問(wèn) §,并在運行(xíng)時(shí)強制(zhì)執行(x© ‌λíng)其時(shí)序行(xíng)為(wèi)。當處理(lǐ)器(qì)支持時(shí),不(≈'bù)允許它們在特權模式下(xià)運行(xíng)。


 3. 通(tōng)信和(hé)代碼共享

     根據圖4和(hé)圖3,一(yī♦←​♠)個(gè) OS-Applications可(kě)以包含多(du×γō)個(gè)AUTOSAR SWC和(hé)關聯的(de)Runnab σ ​les。僅允許Runnables直接訪問(₩←wèn)變量并在其各自(zì)的(de) SWC中執行(xíng)函數 ×​(shù)調用(yòng)。

     SWC的(≥εde)內(nèi)部函數(shù)調用(yòng)和(hé)變量不(bù)被其他(÷≈ tā) SWC公開(kāi)獲取,因為("¥wèi)它們的(de)定義不(bù)由外(wài)部接口的♥α≥ (de)頭文(wén)件(jiàn)提供,因此不(b≠∏α<ù)能(néng)規劃通(tōng)過變量直接通(tōng)信并‍•"→執行(xíng)其他(tā) SWC的(de)代碼。

     在圖5中,代碼共享示δ€α↔例對(duì)此進行(xíng)了(le)₩β∏•說(shuō)明(míng),代碼共享隻δ'φ≥允許在 SWC內(nèi)使用(yòng),而不(bù)允許在一(yī)個(gè)OS- >÷αApplication的(de) SWC之間(jiān)共享。與其他(tγ‌✘•ā) SWC的(de)通(tōng)信應通(tōng)過R₽βTE執行(xíng)。Runnable4可(kě)能(néng)無法執行(xíng∑×‍)屬于SWC2.2的(de)功能(nén φ‍g)。

圖片

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


4. 應用(yòng)軟件(jiàn)中的(de)內(nèi)存分(fēn)區(↓←qū)

    AUTOSAR ECU中的(de)應用(yòng)☆‌軟件(jiàn)可(kě)以由與安全相(xiàng)關的("δ✔de) SWC和(hé)非安全相(xiàng)關的(de) SWC組成。應根據ISO26262的' ₩₩(de)要(yào)求,确保具有(yǒu)不(bù)同ASIL等級的(de) SWC之  間(jiān)的(de)免幹擾性。

    AUTOSAR OS通(tōng)λ 過将 OS-Applications放(•πfàng)入獨占的(de)內(nèi)存區(qū)↕↓域,從(cóng)而不(bù)受與內(nèi)存相(xi↔☆≠₽àng)關的(de)故障的(de)幹擾。此機(jī)制(zhì)≤↕稱為(wèi)內(nèi)存分(fēn)區(qū)。OS-Appδ¶lications之間(jiān)彼此受到(dào)保護,因為(wèi)在一≈→₩λ(yī)個(gè) OS-Applications的(de)內(n'₩èi)存分(fēn)區(qū)中執行(xíng)的(de)代碼不(‌©¶ bù)能(néng)修改其他(tā)內(nèi)存區(qū)域。AUTOS ©λ÷AR OS規範中的(de)相(xiàng)應要(yào)求如(rú)表1所示。

要(yào)求ID 要(yào)求文(wén)本
[SWS_Os_00207] OS模塊應阻止對(duì) OS的(de)寫入訪問(wèn)來(lái)自(zì)其他(♥↕tā)不(bù)受信的(de)OS-Applications的(de)應用(yòng)程序±φ∏$的(de)私有(yǒu)數(shù)據分(fēn)區(qūγ★ )。
[SWS_Os_00355] OS模塊應阻止從(cóng)其他(tā)不(bù)受信ε®$的(de) OS-Application®↔s對(duì) OS-Applications的(de)任務/2類ISR的(de)所有(y£¶™<ǒu)私有(yǒu)堆棧進行(xíng)寫入訪問(wèn)♣±™。
[SWS_Os_00356] OS模塊應阻止從(cóng)其他(tā)不(bù)受信的(de) OS-Applic×≤ations對(duì) OS-Applications的(de)任務/2類ISR的(de<♦¥✘)所有(yǒu)私有(yǒu)數(shù)據分(fēn)區(qū)進行(x≠&≤εíng)寫入訪問(wèn)。

              ∑•Ωε表1:AUTOSAR OS- OS-Applications的(de•‍ )內(nèi)存分(fēn)區(qū)

      應用(yòng)程序軟件(jiàn)可(kě)以由具有"​βα(yǒu)不(bù)同ASIL等級的(de) SWC組成。但(dànλ•€)是(shì),具有(yǒu)不(bù)同A≈λλ¥SIL分(fēn)級的(de) SWC不(bù)應分(fēn)配給同一(yī)σγ個(gè) OS-Applications。內(nèi)存分(fē±σ¥n)區(qū)不(bù)能(néng)提供分(fēn)配給同一(yī) OS-Applicat♥©↔ions的(de) SWC之間(jiān)的(de)免幹擾性。OS僅阻止其他(tδ₩™≥ā) OS-Applications執行(xíng)不(bù)正确的(d$<®βe)訪問(wèn)。不(bù)會(huì)阻止有(yǒu)故障的(de) SWC修改同一≈≤¥(yī) OS-Applications中其他(tā)SWC的(de)內(nèi)存區(qū)域。'≤​₽

      注意:有(yǒu)關任務級分$→×(fēn)區(qū)的(de)詳細信息,請(qǐng)參閱後續♥↔α≈分(fēn)區(qū)。


5. SWC中的(de)內(nèi)存分(fēn)區(q©↓ πū)

    混合ASIL SWC可(kě)能(néng)由具有(y→γ↓"ǒu)不(bù)同ASIL評級的(de)Runnable組∞≥‌<成,因此需要(yào)一(yī)個(gè)支持不₩​★(bù)受這(zhè)些(xiē)Runnable之間(jiān)幹擾的(de)執行(x©₹≤>íng)環境。由于以下(xià)原因,無法在不(bù)同的(de)‌α內(nèi)存分(fēn)區(qū)中執行(xíng​$±)一(yī)個(gè) SWC的(de)不(bù)同Ru∞←✘nnables:

    內(nèi)存分(fēn)區(qū)在 OS-Ap™≥ plications級别執行(xíng)。如(rú)圖所示圖3和(↔¥ hé)圖4,一(yī)個(gè) SWC隻能(néng)分(fēn)配給一(yī)個(gè)•φ¥OS-Applications,因此隻有(yǒu)一(yī)個(gè)內(nèi) δ•存分(fēn)區(qū)。此外(wài), SWC的(de)Runnables隻能£® (néng)由一(yī)個(gè) OS-ApplicaΩγtions的(de)任務調用(yòng)。

    如(rú)圖6所示, SWC的(de)Runnables不(b£¶¶¥ù)能(néng)分(fēn)發到(dào)多(duō)個(gè) OS-Application‍←"¥s的(de)任務。

圖片

圖6:SWC與分(fēn)區(qū)

      內(nèi)存分'≠©∞(fēn)區(qū)不(bù)能(néng)Ωβ"用(yòng)于分(fēn)隔同一(yī)SWC中的(de<‌)Runnables。如(rú)果有(yǒu)必要(yào)讓 SWC包含具有(yǒu)不(bù≥☆)同ASIL的(de)Runnable,并且這(zhè)些(xiē)Runnable需要©‍<(yào)免幹擾的(de)獨立執行(xíng),那(nà)麽在 OS-Appliδ↔★¶cations級進行(xíng)內(nèi)存₩✘λ分(fēn)區(qū)是(shì)不(bù)夠的(de)γδ,內(nèi)存分(fēn)區(qū)必須在任務級≤♠↓别執行(xíng)。方法如(rú)圖7所示。§♠∑¥

圖片

圖7:任務級分(fēn)區(qū)

      與任務級别的(de)內(nè¶' i)存分(fēn)區(qū)相(xiàng)關的(de)要(yào)求列在表2π©的(de)AUTOSAR OS規範中。使用(yòng)弱詞“may”表明(míng)任×↕←務級分(fēn)區(qū)的(de)實現(xiàn)對(duì)于AUTOSAR$ ♦β OS是(shì)可(kě)選的(de)。因此,并非每個(gè)AUγ¥✔¶TOSAR OS實現(xiàn)都(dōu)支持任務級內(nèi)存分(fēnπΩσ®)區(qū)。

要(yào)求ID 要(yào)求文(wén)本
[SWS_Os_00208] OS模塊可(kě)能(néng)會(huì)阻止從(c∞↑•☆óng)同一(yī) OS-Applications中的(de)所有(yǒu)>"​其他(tā)任務/ISR寫入對(duì)非♣φα受信任應用(yòng)程序的(de)任務/2類ISR的(de)專用(yò✔γ↔ng)堆棧的(de)寫入訪問(wèn)。
[SWS_Os_00195] OS模塊可(kě)能(néng)會(huì®&)阻止從(cóng)同一(yī) OS-Applica‌✔✔♦tions中的(de)所有(yǒu)其他(tā)任務/ISR寫入對(duì)非受信任≈↕£≥應用(yòng)程序的(de)任務/2類ISR的(de)私有(yǒu)數(¥$shù)據分(fēn)區(qū)的(de)寫入訪問(wèn)。

             ≥φ&;       ♠♠✔        ←≠←    表2:AUTOS₽₽γ AR OS要(yào)求–任務級的(de)內(nèi)存分(f↓‌ēn)區(qū)


6. 內(nèi)存分(fēn)區(qū©‌)的(de)實現(xiàn)

    可(kě)以使用(yòng)內₩¶×(nèi)存分(fēn)區(qū)機(jī)制(zhì)在系統和(hé)軟 Ω件(jiàn)級别上(shàng)實現(xiàn)各種技(jì)術(shù)安全概念♠®≠ 。

    圖8顯示了(le)一(×↑α♠yī)個(gè)可(kě)能(néng)的(de)實現(xiàn),而所有≥≤✘(yǒu)基礎軟件(jiàn)模塊都(dōu)在一(yī)個(gè)受信®¥Ω↑任/監控模式內(nèi)存分(fēn)區(qū)中執行♠ €¶(xíng)(圖8中以紅(hóng)色突出顯示)。某些(xiē)SWC•∑♦​在邏輯上(shàng)分(fēn)組并放(fàng)在單獨的(de¶"±σ)非受信任/用(yòng)戶模式內(nèi)存分(fēn)區(qū↓☆₹)中(以綠(lǜ)色突出顯示)。選定的(de)軟件(jiàn)模塊與基礎軟件(jiàn)模塊屬↑☆↕←于同一(yī)可(kě)信/管理(lǐ)模式內(nèi)存分(fēn)區₩'$Ω(qū)(參見(jiàn)圖8中紅(hóng)色高(gāo)亮(liàαΩng)的(de)第四個(gè)SWC)。可(kě)能(néng)有(yǒu✔≤£∏)多(duō)個(gè)不(bù)受信的(de)/用(yòn∑βg)戶模式分(fēn)區(qū),每個(gè)分(fēn)區(qū)‌☆包含一(yī)個(gè)或多(duō)個(gè)SW€∑<₩C。

圖片

      在非受信任/•→φ←用(yòng)戶模式內(nèi)存分(fēn)區(©↑qū)中執行(xíng)SWCs會(huì)受到(dào)限制(zhì),不(bù)能♣φ↕λ(néng)修改其他(tā)內(nèi)存區(qū)域,而受信任€×/監控程序內(nèi)存分(fēn)區(qū)的(de)SWCs的(de♥®€)執行(xíng)不(bù)受限制(zhì)。

      用(yòng)于安全相(x€≥♣​iàng)關應用(yòng)的(de)現(xiàn)代微(£§wēi)控制(zhì)器(qì)支持通(tōng)過專用(yòng)硬件(jià≥♦¶♣n)(內(nèi)存保護單元(MPU))進行(xíng)內(nèi)β≈存分(fēn)區(qū)。

      注•☆∞意:假設內(nèi)存分(fēn)片将在具有(yǒu)MPU或類似硬件(jiàn¶✔φ")功能(néng)的(de)微(wēi)控制(zhì)器®$λ(qì)上(shàng)實現(xiàn)。

      使用(yòng)典型的(de)MPU實±π≠現(xiàn),不(bù)受信的(de)應用(yòng)程序可(kě)以≤≠允許訪問(wèn)微(wēi)控制(zhì)器(qì)地(d∑★ì)址空(kōng)間(jiān)的(de)多(duō)個(gè)分(fēn)區(qū)。訪φ®₩問(wèn)控制(zhì)定義為(wèi)讀(dú)取、寫入←₩和(hé)執行(xíng)訪問(wèn)的(de)組合。MPU的(de)配♦≠‌置僅在監控模式下(xià)是(shì)允許的(de)。

      注意:在某些(xiē)微(wēi)✔φ控制(zhì)器(qì)實現(xiàn)中,MPU₽ "≥集成在處理(lǐ)器(qì)內(nèi)核中。因此,MPU僅控制(zhì)©₽'€關聯內(nèi)核的(de)訪問(wèn)。其他(tā)總線主站(zhàn)(♥♣↔如(rú)DMA控制(zhì)器(qì)和(hé)其他(tā)內(β♥nèi)核)不(bù)受此分(fēn)段MPU實例的(de)控制(zhì)。

      下(xià)表和(hé)用(yòng)例說(shuō)♣'明(míng)了(le)內(nèi)存保護單元的(de)配置派生(shēng)自(zì)​÷★€系統要(yào)求時(shí)的(de)一(yī)組可(kě)能(n₩♦÷éng)方案。注意:對(duì)于正在使用(yòng∑π₩")的(de)特定硬件(jiàn)設備的(de)功能 α(néng),此表可(kě)能(néng)不(bù)完整。

地(dì)址空(kōng)間(jiān) 理(lǐ)由 讀(dú) 執行(xíng)
閃存 讀(dú)取、執行(xíng)和(hé)寫入訪問(wèn)不(bù)會(huì)修改閃存內♠§ (nèi)容。必須首先擦除閃存,并啓用(yòng)其他(tā)機(jī)制(zhì)才能(néng←α↑≈)寫入。注意:從(cóng)安全角度來(lái)看(kàn),以下(xià)含義:讀  ♥≠(dú)取和(hé)執行(xíng)外(wài)來(lái)代碼可(β★∑∏kě)能(néng)用(yòng)于獲取原本不(bù)适用(yòng)于軟件(jiànβ£₽÷)的(de)信息。 O O O
RAM 對(duì)RAM的(de)寫入訪問(wèn)可(kě)能(néng)會("$♣λhuì)導緻內(nèi)存損壞,從(cóng)而影(yǐng)響軟件(jiàn)的(de)α±行(xíng)為(wèi)。 O X O
外(wài)設 即使從(cóng)外(wài)設地(dì)址空(kōng)間(jiān)≈÷§ 讀(dú)取,也(yě)可(kě)能(néng)産生(s¶ ≥→hēng)副作(zuò)用(yòng)。例如(rú)通(tε§ōng)過對(duì)中斷控制(zhì)器(qì)的(de)讀(dú)取訪問(wèn≤∏)來(lái)執行(xíng)中斷确認,對(duì)外(w¶≤✘✘ài)圍設備的(de)讀(dú)取訪問(wèn)可(kě)能(néng)會(hu춮¥¥)導緻I/O錯(cuò)誤。 X X X

              €©        &★®±¶nbsp;         &☆‍nbsp;     表3:內(nèi)存保護的(de)配置方案

     圖标說(shuō)☆✘↑↕明(míng):

     X–需要(yào)保護

     O–可(kě)₽ε"選保護

     注意:從(® α§cóng)性能(néng)角度來(lái)看(kàn),由于總線争用±‍£&(yòng)、接口仲裁等原因,可(kě)能γ£(néng)會(huì)産生(shēng)副作(zuò)用(yòng)。

     用(yòng)例1:SWC位于同一(yī)分(fēn)區•>≠♠(qū)中。

  • 同一(yī)分(fēn)區(qū)中的(de) SWC可&α"(kě)以訪問(wèn)彼此的(de)RAM區(qū)域,因此可(kě)•φ  能(néng)會(huì)損壞彼此的(de)內(nèi)存內(nΩ ™èi)容。

  • 根據定義, SWC無法訪問(wèn)外(wài)圍設備,因為(↑≥→wèi)它們不(bù)應了(le)解底層微(wēi)控制(zhì)器(qì)φ✘✘÷架構。當 SWC被允許直接訪問(wèn)外(wài)圍設備時(shí),可(kě)能(nénσασεg)會(huì)創建不(bù)安全的(de)系統。
    用(yòng)例2:不(bù)同分(fēn)區(qū)中的ε✔(de) SWC。

  • 不(bù)同分(fēn)區(qū)中的(de) SWC無法訪問(¶πwèn)彼此的(de)RAM區(qū)域,因此無法損壞彼此的(de)內(nèi)存內(nè♣λi)容。

  • 根據定義, SWC無法訪問(wèn)外(wài)圍設備,因為(wèi)它們不(bù)↔"‌λ應了(le)解底層微(wēi)控制(zhì)器(qì)架構。當 SWC被授予對©Ω¶↔(duì)外(wài)圍設備的(de)直接訪問(wèn)權限時(♥±shí),可(kě)能(néng)會(huì)創建可(kě)能(néng↑☆✘)不(bù)安全的(de)系統。
    用(yòng)例3:MCAL驅動程序

  • MCAL驅動程序是(shì)函數(shù)的(de)集合,例如(rú ¥×)讀(dú)/寫/初始化(huà)。它們必須由另一(yī)個(gè)實體(tǐ)執行(x≤♠íng),例如(rú)BSW或CDD。有(yǒ™¶§↓u)關詳細信息,請(qǐng)參見(jiàn)圖8。

  • MCAL驅動程序需要(yào)對(duì)相(xiàng)應外(wài)設硬件(jiàn)模塊的(∏>de)外(wài)設空(kōng)間(jiān)進行(xíng)讀(dú)/寫訪問(wèn)。 ♦✔ 根據硬件(jiàn)架構,可(kě)能(néng)還(hái)δ$需要(yào)處理(lǐ)器(qì)的(de)監控模式。


2.1.3檢測和(hé)響應

      功能(néng)安全機(jī)制(zhì)•≠內(nèi)存分(fēn)區(qū)通(tō ☆>ng)過限制(zhì)對(duì)內(nèi)存和(hé)內∞↔(nèi)存映射硬件(jiàn)的(de)訪問(‍✔>↓wèn)來(lái)提供保護。在一(yī)個(gè)分(fēn)區(qū)中執♠λ行(xíng)的(de)代碼不(bù)能(néng)修改另一(yī)個(gè)分(fē ≠​n)區(qū)的(de)內(nèi)存。內(nèi)存分(fēn)δ↑ ✘區(qū)可(kě)以保護隻讀(dú)內(nèi)存段,以及保♥¶護內(nèi)存映射硬件(jiàn)。此外(wài),在用(yòn"↓&g)戶模式下(xià)執行(xíng)的(de)SWC對(duì)CPU↓$α指令的(de)訪問(wèn)受到(dào)限制(zhì),例如±β(rú)重新配置。

      內(nèiσ ₹)存分(fēn)區(qū)機(jī)制(zhì♣♣≠‍)可(kě)以在微(wēi)控制(zhì)器(qì)硬件(jiàn)(如(r‌λλú)內(nèi)存保護單元或內(nèi)存管理(lǐ)單元)的(de)支持下(xβ∏ià)實現(xiàn)。微(wēi)控制(zh↓☆ ì)器(qì)硬件(jiàn)必須由 OS進行(xíng☆εΩ£)适當配置,以便于檢測和(hé)防止不(bù)正确的(de♥>)內(nèi)存訪問(wèn)。然後監控在不(bù)受信的(✘∏>de)/用(yòng)戶模式內(nèi)存分(fēn)區(qū)中SWC的(®•γde)執行(xíng)。

      如(rú)果內(nèi)存訪問(wèn)違規或非受≥☆β信任/用(yòng)戶模式分(fēn)區(qū)中的(de)CPU指令沖突,則錯(cu™∑↑✔ò)誤訪問(wèn)将被阻止,微(wēi)控制(zhì)器(qì)硬件(jiàn)會(huì©₩)引發異常。OS和(hé)RTE通(tōng)過執行(xíng)分(fēn)區(qū)關閉或重©®新啓動此分(fēn)區(qū)的(de)所有(yǒu)軟件(jiàn)分(fēn)區(qū)來(→​₽lái)消除錯(cuò)誤的(de)軟件(jiàn)分β↔♣≈(fēn)區(qū)。

      注意:OS的(de)實際響‌₩應可(kě)以通(tōng)過保護挂鈎實現(xiàn)進行(xΩ§∏íng)配置。有(yǒu)關更多(duō)詳細信息,請(qǐng)參閱 OS₩₩≠↔ SWS[i]文(wén)檔。

      注:AUTOSAR文(wéβ₽<n)檔“應用(yòng)程序級錯(cuò)₹‍'®誤處理(lǐ)說(shuō)明(míng)”[ii]提供了(le)有(yǒu)關">¶"錯(cuò)誤處理(lǐ)的(de)其他(tā)αβα信息。在文(wén)檔中,解釋了(le)€♠≥如(rú)何執行(xíng)錯(cuò)誤處理(lǐ)以及可 ✔♠(kě)以從(cóng)何處獲取所需數(shù)據(例如(rú)替代值)。 < ©此外(wài),本文(wén)檔還(hái)提供了(le)有(yǒ₽☆™u)關如(rú)何在AUTOSAR中執行(xíng) O• S-Applications/分(fēn)區(qū)終止和(hé)重新γ¥ 啓動的(de)詳細說(shuō)明(míng¶λ← )(用(yòng)戶手冊)。

2.1.4限制(zhì)

     1. 具有(yǒu)相(xiàβ" ng)同ASIL分(fēn)級的(de)SWC的(♦σde)內(nèi)存分(fēn)區(qū♥β♣‍)。

         ISO​§β&26262标準要(yào)求不(bù)同ASIL等級[iii]的(de) SWC之間(✔↑φ←jiān)的(de)免幹擾性。但(dàn)是(shì),标準不(bù)要(yào)求₽>♦在具有(yǒu)相(xiàng)同ASIL等級的(de) S♦ "©WC之間(jiān)的(de)免幹擾性。

      ↕∞   允許使用(yòng)由大(dà)量 SWC組成的(de) OS≤§↕-Applications。如(rú)果單個(gè) SWC✔♠導緻沖突,從(cóng)而導緻關閉或重新啓動整個(gè)內(nèi)存分(fēn)區(qū),則≈↓π此內(nèi)存分(fēn)區(qū)的(de)所€≈ 有(yǒu)其他(tā)正常工(gōng)作(zuò)的(de✘♥£)SWC也(yě)會(huì)受到(dào←≤)影(yǐng)響。

     2. 內≠$(nèi)存分(fēn)區(qū)不(bù)适用(yò≈®ng)于受信任的(de) OS-Applications。

         受信任/監控模式內(nèi ∞®)存分(fēn)區(qū)的(de)執行(₽¥₩✔xíng)不(bù)受 OS和(hé)某些(xiē)MMU/MPU硬件∞♦‌♣(jiàn)實現(xiàn)的(de)控制(zhì)。

     3. 任務級别不(bù)®₩支持內(nèi)存分(fēn)區(qū)。

         任務級分(fēεΩn)區(qū)的(de)實現(xiàn)對(duì)于AUTOSAR OS實現(xiàn)不₽α(bù)是(shì)必需的(de)。因此,可(kě)能(néng)不(bù)支持↑∏φ OS-Applications中的(de)免幹擾ε★性。

     4. 由于內(nèi)存分(fēn) ↑§₽區(qū)導緻的(de)性能(néng)損失。

         ‍¶根據應用(yòng)軟件(jiàn)的(de∏≤↑≤)架構以及微(wēi)控制(zhì)器(qì)硬件(jià © n)和(hé) OS的(de)實現(xiàn),使用(yòng)內(nèi)存分(fēn)區( <™♥qū)會(huì)降低(dī)性能(néng)。★¶此損失随著(zhe)每個(gè)時(shí)間(jiān)單位執行(≠×∑'xíng)的(de)上(shàng)下(xi€₽¶à)文(wén)切換數(shù)的(de)增加而∏≤>增加。

     5. 無基礎β±α‍軟件(jiàn)分(fēn)區(qū)。

     ±®‌    基礎軟件(jiàn)的(de)當前規範未指定✘£來(lái)自(zì)不(bù)同供應商的(de)不(bù)同ASIL等級的(de)基礎 SWC的¶®'(de)內(nèi)存分(fēn)區(qū ♥✔)。



轉自(zì)汽車(chē)電(diàn)子§←≤'(zǐ)與軟件(jiàn)

北京德智尚車聯科技有限公司版權所有(yǒu) 京ICP證000000号   技(jì)術(shù)支★λ持:網站(zhàn)建設