在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

在AUTOSAR系統中如何將BSW模塊分配到不同的分區和內核呢?

冬至子 ? 來源:汽車電子與軟件 ? 作者:踐行者 ? 2023-11-16 17:49 ? 次閱讀

本文主要討論在 AUTOSAR 系統中如何將 BSW 模塊分配到不同的分區(Partition)和內核。主要解決了以下問題:

  • 如何修改 BSW 模塊以支持多核并行執行
  • 如何配置將 BSW 模塊分配到不同分區
  • MCAL(微控制器抽象層)模塊的多核支持方式
  • 通信棧(Com-Stack)的分配方案
  • 加密服務(Crypto-Stack)的分配方案
  • 在安全關鍵系統中進行 BSW 分配的方式

相比單核系統,多核 BSW 分配需要解決的主要問題是:

  • 并行執行帶來的數據一致性問題
  • 跨分區調用的內存訪問權限問題
  • 如何分配核心的硬件資源訪問權
  • 啟動/關閉時對安全性的影響
  • 由分區引入的新的錯誤場景

AUTOSAR 提供了一系列機制來解決這些問題,支持高效、安全的 BSW 多核分配。

BSW 在多核系統中的分配

支持的分配場景

AUTOSAR 支持將 BSW 功能相關的模塊分配到不同的分區,這既可以提升性能,也可以增強安全性。每種功能集群包含一組相關的 BSW 模塊,可以包含通信、存儲、IO、看門狗等等。同一類型的功能集群可以存在于多個分區中。

為支持分區分配,BSW 模塊實體分為主模塊和從模塊,可以分配到不同分區中,主模塊與從模塊通過非標準化的 AUTOSAR 接口進行跨分區通信。

AUTOSAR 支持下列分配場景:

將 BSW 功能集群分配到一個分區,提高性能

將 BSW 功能集群的子集分配到多個分區,提高并發性

可以將主從模塊實體分配到多個分區

性能優化場景

通過將 BSW 模塊分配到多個分區和內核,可以提升系統性能,減少資源占用。主要的性能優化場景包括:

將通信相關的模塊集群分配到一個內核,將 I/O 相關的模塊集群分配到另一個內核。

如果硬件資源只能被一個內核訪問,則將對應的 BSW 用戶、服務和驅動都部署在該內核上可以提高性能。

實現多個通信集群之間的信號網關功能,需要在不同內核上同步不同的通信模塊。

技術實現概覽

AUTOSAR 定義了一些新概念,并擴展了部分模塊,來支持多核BSW分配:

BSW 功能集群:一組功能相關的 BSW 模塊,包含通信、存儲、IO、看門狗等模塊組。

分區間通信:使用調度器(SchM)提供的函數實現跨分區調用。

服務執行定位:通過事件到任務的映射來確定服務執行的分區。

主從模塊:將模塊拆分為主模塊和從模塊,分配到不同分區并通過非標準化接口通信,如下圖所示:

image.png

要點是,模塊之間的接口保持不變,分區分配引起的變化主要內藏在模塊內部。

BSW 模塊的并行執行

為支持多核并行執行,BSW 模塊需要實現以下機制:

基于核 ID 進行執行代碼,實現定制的核相關行為。

使用主從模塊設計模式,主模塊負責協調從模塊。

使用 SchM 提供的跨分區函數實現模塊間通信。

在無內存保護的系統中,允許直接跨分區調用,但需要用互斥區保護共享數據。

每個分區使用本地的驅動訪問硬件資源

BSW 分區配置

為管理分區中的 BSW 模塊,需要進行如下配置:

為每個 BSW 分區配置一個 OsApplication。

在 EcuC 中配置分區以及模塊到分區的映射。

為每個 BSW 分區單獨配置 BswM。

每個內核一個 EcuM 實例。

跨分區調用處理

當 BSW 模塊分配到不同分區后,最重要的問題是如何處理跨分區調用。主要的處理手段包括:

使用激活 Task 或設置 Event 的方式,轉至被調用分區執行實際調用。

調用方使用 CallTrustedFunction 進入被調用分區。

若被調用函數不訪問本地數據,則可直接調用。

參數在分區間傳遞需要使用復制或特殊硬件機制來保證無干擾。

啟動、關閉和睡眠/喚醒處理

在啟動階段,內存保護是未啟用的,此時需要注意避免重要數據被覆蓋。

在關閉階段,內存保護已經啟用,可以檢測問題。

睡眠和喚醒處理也需要考慮安全需求。

錯誤處理

引入分區后,一些新的錯誤場景需要檢測和處理:

分區內代碼引發的內存錯誤。

分區內代碼執行超時引起的定時錯誤。

嘗試訪問沒有權限的硬件資源。

可以配置分區延遲上報的時間,避免過早引發系統重啟。

MCAL及協議棧分配

MCAL 模塊的多核支持

AUTOSAR 定義了 5 種多核支持類型,用于指明 MCAL 模塊的多核處理方式:

Type I:MCAL 模塊僅在單核上可用,不可全局使用,如 FLS、FEE 模塊

Type II:MCAL 模塊可按核執行,作用于獨立的硬件元素,如 CAN、FlexRay等

Type III:可作用于全局可用的硬件元素,如 Dio Driver

Type IV:可在任何核上使用模塊的接口,但僅通過一個核來訪問映射元素,如 ADC、PWM、ICU 和 OCU

Type V:可在任何核上使用模塊的接口,通過相應的核單獨訪問可映射元素

不同類型采用不同的資源分離策略,例如硬件級分離或軟件級互斥保護。

各類 MCAL 模塊可以分配為上述 5 種類型中的一種,以指明其多核支持方式。配合多核類型,開發者需要定義可映射的硬件元素,以及元素到內核的映射關系,作為多核支持的基礎。

通信協議棧分配

通信棧(Com-Stack)可以分配到不同的分區中,以提高負載分配效率。分配方式包括:

根據網絡類型,將 I-PDU 分配到不同的 MainFunction 中。

PduR 負責處理不同網絡之間的分區通信。

狀態、模式和網絡管理由 ComM和Nm 集中處理。

加密服務分配

加密服務棧(Crypto-Stack)也可以分配到不同分區中,每個分區部署一個 MainFunction。Csm 模塊與 SecOC 模塊需要分配到同一分區,避免分區切換開銷。

為處理新鮮度值,可以采用如下手段:

保留一個跨分區的新鮮度管理 SWC

每個分區一個新鮮度 SWC

使用 SecOC 的可配置 C 語言 API

安全關鍵系統中的 BSW 分配

概述

AUTOSAR 支持通過分區隔離來構建安全關鍵系統。最高 ASIL 級別的 BSW 模塊被放入專用分區,低 ASIL 級別的模塊放入公共分區,從而最小化軟件開發的代碼量。

AUTOSAR 安全分配的主要機制包括:

使用多個分區,進行空間隔離。

對執行實體進行監控,防止阻塞或順序錯誤。

端到端保護,避免通信數據被修改。

特定模塊提供額外的安全機制。

跨分區調用

分區調用需要檢查是否符合 Safety 要求。可以使用 Stub 函數封裝被調用的功能,處理分區切換問題。

具體來說,分區調用可以有如下情況:

QM 調用 ASIL:使用 Stub 函數進入 ASIL 分區,如下圖所示。

image.png

ASIL 調用 QM:使用包裝函數進入QM 分區,如下圖所示。

image.png
ASIL 調用 ASIL:類似地需要 Stub 函數或包裝函數。

參數傳遞需要使用復制或特殊硬件機制來保證安全。

啟動/關閉和睡眠/喚醒

啟動階段需要注意數據隔離。

關閉時可以檢測隔離問題。

睡眠/喚醒處理也需要考慮安全需求。

錯誤處理

分區調用可能產生新的錯誤場景,需要檢測內存溢出、超時等問題。

可以配置分區的 Timing 保護,避免過早重啟。

性能考量

分區隔離會增加調用開銷。可以通過減少分區數量、優化模塊映射和 calls 來獲得最佳平衡。

未來的 AUTOSAR 版本

未來 AUTOSAR 可能進行如下改進:

標準化 BSW 功能集群及其接口,如下圖所示。

image.png

支持更高效的分區間調用

支持用例分區提升安全性

等等

注意事項

BSW模塊設計

對共享數據的訪問需要加互斥保護

調用其他模塊接口前需獲取分區 ID,根據 ID 區分主從代碼

主模塊負責協調從模塊,可監控和過濾請求

主從模塊間使用非標準化接口通信

多核場景下接口需要支持異步調用

BSW配置

每個 BSW 分區需配置一個 OS 應用程序

需要配置 BSW 模塊到分區的映射

需要配置每個分區的 BswM 實例

需要配置核心的 EcuM 實例

需要配置分區的 BSW 啟動/關閉順序

跨分區調用

使用激活任務或事件切換調用上下文

調用方使用 CallTrustedFunction 進入被調方分區

檢查直接調用是否安全

小心處理參數傳遞的內存訪問權限

安全系統相關

啟動階段內存保護尚未啟動,需謹慎操作

最小化啟動前執行的代碼量

安全相關機制只在必要分區上實現

檢查分區調用是否被符合 Safety 要求

準確配置調用的 Stub 函數或包裝函數

謹慎處理睡眠喚醒的安全需求

檢測由分區引入的新錯誤場景

平衡分區數量和性能

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

    關注

    48

    文章

    7572

    瀏覽量

    151648
  • 看門狗
    +關注

    關注

    10

    文章

    565

    瀏覽量

    70863
  • AUTOSAR
    +關注

    關注

    10

    文章

    363

    瀏覽量

    21627
  • BSW
    BSW
    +關注

    關注

    0

    文章

    15

    瀏覽量

    3520
  • 調度器
    +關注

    關注

    0

    文章

    98

    瀏覽量

    5261
收藏 人收藏

    評論

    相關推薦

    Linux內核何時如何將寫入的數據回寫到磁盤

    write系統調用寫入數據后,文件系統頁緩存寫入數據便返回了write系統調用,并沒有分配
    發表于 10-18 16:00 ?2549次閱讀
    Linux<b class='flag-5'>內核</b>是<b class='flag-5'>在</b>何時<b class='flag-5'>如何將</b>寫入的數據回寫到磁盤

    STM32H743如何讓malloc自動分配到外部RAM

    本人試過進入main之前修改啟動文件,增加SDRAM的初始化,并且棧空間指定在內部防止初始化錯誤,程序還是死Hardfault_Handler。還有什么辦法可以malloc自動
    發表于 03-13 07:14

    如何將分區劃分為可讀分區

    ,然后USB側將它們作為單獨的邏輯單元枚舉。定義了Cyfxxsibx分區(2)。如果我已經增加到4,它顯示了4個分區4個分區
    發表于 09-27 14:22

    為什么使用AUTOSAR

    文章目錄一、總概述1 為什么使用AUTOSAR?1.1 AUTOSAR出現之前的行業現狀1.2 AUTOSAR出現之后可以實現如下目標2、AUTOSAR總概述二、各層分別概述1、
    發表于 12-09 07:50

    AUTOSAR基礎軟件層是由哪些部分組成的

    AUTOSAR基礎軟件層即BSW(Basic Software)層,與應用層、運行環境層共同搭建了AUTOSAR的軟件體系。三個層從上而下,層層遞進,實現了從人機交互到底層硬件的聯系。AUTO
    發表于 02-17 08:00

    介紹一種適配RT-Thread內核autosar操作系統

    目是基于autosar3.1的開源代碼arctic core,在此基礎上,完成n32g45x上的mcal驅動,適配RT-Thread內核autosar的操作
    發表于 05-19 15:40

    基于RT-Thread內核AUTOSARn32g上的實現方案

    的操作系統。目前已完成mcal的mcu驅動,autosar的osek操作系統已經能在n32g45x上正常調度,移植rtthread到arctic core,但是適配OSEK/VDX的
    發表于 07-27 14:30

    AUTOSAR功能安全機制之內存分區與實現

    1、AUTOSAR功能安全機制之內存分區與實現  AUTOSAR架構,應用軟件位于RTE上方,由互連的
    發表于 09-19 15:55

    如何將IP模塊整合到System Generator for DSP

    了解如何將Vivado HLS設計作為IP模塊整合到System Generator for DSP。 了解如何將Vivado HLS設計保存為IP
    的頭像 發表于 11-20 05:55 ?3252次閱讀

    如何將交換機的接口分配到vlan

    本文檔的主要內容詳細介紹的是如何將交換機的接口分配到vlan
    發表于 11-20 08:00 ?5次下載
    <b class='flag-5'>如何將</b>交換機的接口<b class='flag-5'>分配到</b>vlan<b class='flag-5'>中</b>

    基于AUTOSAR規范的操作系統知識

    汽車電子控制器目前基本遵循AUTOSAR規范,而其中操作系統作為BSW的重頭戲,始終讓學習AUTOSAR的同學望而生畏,進而望而卻步。所以
    的頭像 發表于 02-13 14:03 ?1656次閱讀
    基于<b class='flag-5'>AUTOSAR</b>規范的操作<b class='flag-5'>系統</b>知識

    通過擴頻調頻技術如何將頻譜能量分配到頻譜

    一般而言,遵守電磁標準對于開關電源愈發重要,這不僅局限于總光譜能量過大,更多的原因是能量集中基本開關頻率及其諧波的特定窄帶。為此,第 9 部分提出通過擴頻調頻 (SSFM) 技術頻譜能量
    的頭像 發表于 03-29 09:33 ?2353次閱讀
    通過擴頻調頻技術<b class='flag-5'>如何將</b>頻譜能量<b class='flag-5'>分配到</b>頻譜<b class='flag-5'>中</b>

    關于AUTOSAR-DEM模塊的簡要介紹和幾點思考

    DEM全稱“Diagnostic Event Management”,該模塊作為AUTOSAR架構BSW模塊之一,對于ECU軟件開發也是
    的頭像 發表于 04-15 17:12 ?3284次閱讀

    一文入門AUTOSAR OS

    Autosar Os Autosar 框架中上至RTE 下至驅動,中間可以和BSW 基礎模塊進行交互。是整個
    的頭像 發表于 06-29 10:34 ?4310次閱讀
    一文入門<b class='flag-5'>AUTOSAR</b> OS

    AUTOSAR經典平臺介紹

    汽車電子系統的軟件組件、運行時環境和通信機制,以實現模塊化、可重用和可擴展的系統開發。 AUTOSAR CP
    的頭像 發表于 10-27 15:30 ?1413次閱讀
    <b class='flag-5'>AUTOSAR</b>經典平臺介紹
    主站蜘蛛池模板: 国产精品三级视频| 丁香月婷婷| 色多多福利| 色爱区综合| 免费无遮挡很爽很污很黄| 你懂的网址免费国产| 久久综合色区| 窝窝午夜在线观看免费观看 | 免费在线观看一区二区| 黄视频免费| 757福利影院合集3000| 亚洲国产一区二区三区在线观看| 末发育女一区二区三区| 性欧美高清久久久久久久| 色内内免费视频播放| 久久综合亚洲| 91久久青草精品38国产| 秋霞麻豆| 看片午夜| 免费高清视频免费观看| 老师下面好湿好紧好滑好想要| 亚洲美国avcom| 人人做人人爽| 第四色激情网| 欧美黑人黄色片| xxxx黄色| 亚洲电影在线播放| 欧美一区二区三区免费看| 国产成人免费无庶挡视频| 日韩美女影院| 中文字幕一区在线观看| 亚洲精品黄色| 巨尻在线观看| 手机看片精品国产福利盒子| 91网站在线看| 在线色视频网站| 欧美一区二区视频在线观看| www.日本免费| 操xxx| 久久久久国产一级毛片高清板| 色婷婷亚洲十月十月色天|