久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    車載基礎軟件——AUTOSAR CP關鍵技術分析

     車載診斷技術 2023-02-07 發布于上海

    車載基礎軟件——AUTOSAR CP關鍵技術分析

    我是穿拖鞋的漢子,魔都中堅持長期主義的一個屌絲工程師!

    今天是2023年2月6日,上海還在下著雨,雖說是春雨貴如油,但是潮濕的氛圍還是讓心中有了潮濕的心情!

    老規矩,分享一段喜歡的文字,避免成為高知識低文化的工科男:

    自己要馬不停蹄的姿態去迎接未來,帶著對遠方的期待前行,不顧驕陽灼燒,不懼風雨癲狂?;蛟S自己會錯過今天的日落,但是自己可以早起去追逐下一個黎明!

    Return to today's topic!

    在做功能實現AUTOSAR Solution方案中(CP),有著許多關鍵技術應用到日常工作中,也解決了車載軟件的一些痛點問題。如本文分享的關鍵技術:

    -> 基礎軟件多核分配

    -> 軟件集群技術

    一、基礎軟件多核分配

    基礎軟件多核分配是發揮多核系統并行計算、負載均衡、快速響應優勢的關鍵技術(這其中原因歸結于車規級芯片性能越發強大)。沒有基礎軟件的多核分配,就算應用軟件做了多核分配,多核系統的優勢將受到核間通信效率的制約,甚至系統整體性能還不如單核。實現基礎軟件多核分配的主要技術手段有兩種:

    主衛星方式(Master/Satellites);

    通信協議棧分割(Com-Stack Split)。

    1、主衛星方式。

    如下圖主衛星方式的基礎軟件分割所示,該方式可適用于 Dem、FiM、WdgM、Com、NvM、XCP、EcuM 等基礎軟件組件。當這些組件提供的服務需要被多個核使用時可以考慮主衛星方式,即衛星給其所在核的其他模塊提供服務接口并將收到的服務請求通過主衛星通信傳遞給主星,主星協調、過濾和接收各衛星的服務請求并進行處理,最后將處理結果通過主衛星通信反饋給衛星。由于主衛星之間的工作分配 AUTOSAR CP 并未標準化,所以用戶可自定義。一種極端情況是主星具備全部功能,衛星僅為同核其他模塊提供服務接口并將服務請求轉發到主星上處理;另一種極端情況是衛星和主星一樣具備全部功能并不需要主星處理服務請求,它只需要與主星保持必要信息的同步。

    由于衛星提供的接口可以被該核的其他模塊直接調用并通過高效的主衛星通信與主星交互,從而避免了低效的 Client/Server 通信,大大提高了多核系統中基礎軟件的服務效率。另外由于主衛星可并行處理服務請求,因此 CPU 負載可以被有效平衡、基礎軟件的服務速度也得到提高。

    2、通信協議棧分割方式。

    該方式通過一個增強型的 PduR 引入 FIFO 隊列(無需自旋鎖)或 Buffer(需要配合自旋鎖)這樣的數據結構對跨核 PDU 進行路由,可將不同類型的總線協議棧分配到不同的核,如將 CAN 協議棧和以太網協議棧分配到不同的核。通過這樣的協議棧分割可達到 CPU 負載均衡及提升多核系統實時性的目的。

    二、軟件集群技術

    軟件集群(Software Cluster)在 R20-11 版本中被首次提出,是 AUTOSAR CP 在軟件架構方面的一次創新,其本質是利用二進制接口技術實現更為靈活的軟件集成與更新。

    軟件集群技術示例所示,通過軟件集群技術 AUTOSAR CP 軟件架構被分割成了兩個獨立的軟件集群,分別為應用軟件集群(Applicative Software Cluster)和主軟件集群(Host SoftwareCluster)兩部分。其中應用軟件集群可以單獨編譯,其搭載一組關聯度較高的 SWC;主軟件集群也可以單獨編譯,其除了可以搭載 SWC 之外還必須搭載基礎軟件(包含 OS 和 MCAL)。

    一個控制器中可以存在多個高度解耦的應用軟件集群,但是只能且必須存在一個主軟件集群,分別將應用軟件集群和主軟件集群燒寫至目標板后即可形成完整的、可執行的程序。這樣的軟件架構創新使得軟件的開發與集成變得更加靈活,尤其是當需要更新軟件功能時,無需更新全部軟件,只要更新特定的軟件集群即可。

    如下圖軟件集群技術示例中的藍框所示,各個軟件集群就像是控制器上的一塊塊拼圖,而這些拼圖之間是通過軟件集群連接塊(Software Cluster Connection)拼接起來的。軟件集群連接塊由三部分組成,分別是二進制清單(Binary Manifest),跨軟件集群通信(Cross Cluster Communication),代理模塊(Proxy Modules)。

    這其中最關鍵的是二進制清單,它在編譯階段產生且 AUTOSAR CP 規定了其標準格式,它為各個軟件集群編譯后文件(Binary Objects)之間提供了定義良好的接口,從而能將其連接在一起形成完整的可執行文件。

    下圖軟件集群的連接展示了二進制清單連接兩個軟件簇的例子,其中軟件集群 A 運行時需要一個資源(Require Resource,指軟件集群運行時所需要的一切,或是 S/R接口,或是 NV 塊),而這個資源正好可以由軟件集群 B 提供(Provide Resource)。軟件集群 A/B 的二進制清單中都分別存儲了這個資源的基本信息包括:資源屬性(Require/Provide)、資源類型(S/R、NV 塊等)、資源 ID、句柄一覽表(Handle,即用于訪問該資源的信息如數據指針、函數指針、數據等)等。對于軟件集群 A 來說,因為在其單獨編譯階段沒有相應的 Provide Resource,所以其二進制清單的句柄一覽表被默認值填寫且是可修改的。

    如下圖黃色框所示。對于軟件集群 B 來說,因為其具備固定的Provide Resource,所以其二進制清單的句柄一覽表在編譯時已確定且是不可修改的,如下圖綠色框所示。如果在燒寫時進行軟件集群連接,那么目標板內的軟件集群連接器軟件(On-board Software Cluster Connector)負責在燒寫的同時,將軟件集群 B 中資源的句柄拷貝至軟件集群 A 中資源的句柄,從而完成兩個軟件集群的連接。

    跨軟件集群通信用于支撐 VFB 通信。而代理模塊分為高代理模塊(High Proxy Modules)和低代理模塊(Low Proxy Modules)兩部分,其中高代理模塊位于應用軟件集群代替原先的基礎軟件模塊提供符合 AUTOSAR 標準的接口,低代理模塊位于主軟件集群負責實現真正的基礎軟件模塊功能,二者之間通過二進制清單連接

    擱筆分享完畢。

    愿你我相信時間的力量,

    做一個長期主義者!

      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: XXXXXHD亚洲日本HD| 亚洲国产精品人人做人人爱| 公天天吃我奶躁我的在线观看| 欧美无人区码一码二码三码的区别| 国产色综合久久无码有码| 国产成人一区二区三区视频免费| 午夜毛片精彩毛片| 欧美亚洲日本国产综合在线美利坚 | 亚洲高清国产拍精品5G| 天堂中文官网在线| 又大又粗欧美成人网站| 波多野结衣中文字幕久久| 日韩电影免费在线观看网站| 国产一区二区精品久久| 日韩精品区一区二区三vr| 亚洲精品一区二区麻豆| 高清破外女出血AV毛片| 成人无码午夜在线观看| 亚洲综合小说另类图片五月天| 亚洲乱码日产精品一二三| 亚洲AV无码一区东京热久久| 日本福利一区二区精品| 人妻丝袜AV中文系列先锋影音 | 欧美精品人人做人人爱视频| 下面一进一出好爽视频| 成人拍拍拍无遮挡免费视频| 丰满少妇2中文在线观看| 久久久亚洲AV成人网站| 中文字幕国产精品综合| A级毛片100部免费看| 真人性囗交视频| 亚洲AV无码专区亚洲AV桃| 东京热一精品无码av| 免费人成网站视频在线观看 | 久久精品人妻无码专区| 18禁裸体动漫美女无遮挡网站| 亚洲人成网站77777在线观看| 国产AV无码专区亚洲AV漫画| 无套内谢少妇一二三四| 亚洲AV无码一区二区三区人| 中国少妇初尝黑人巨高清|