博客專欄

        EEPW首頁 > 博客 > 探索 AUTOSAR 與 英飛凌 AURIX? TC4x MCAL 解決方案-下探索 AUTOSAR 與 英飛凌 AURIX? TC4x MCAL 解決方案-下

        探索 AUTOSAR 與 英飛凌 AURIX? TC4x MCAL 解決方案-下探索 AUTOSAR 與 英飛凌 AURIX? TC4x MCAL 解決方案-下

        發(fā)布人:hejingfeng 時間:2024-10-14 來源:工程師 發(fā)布文章

        往期回顧

        AURIX?  TC4x  微控制器的并行處理單元(PPU)簡介

        AURIX? TC4x免費開發(fā)環(huán)境介紹

        英飛凌新一代MCU AURIX?  TC4x 即將量產(chǎn)

        緣起今生:英飛凌車規(guī)MCU全系支持Rust 語言開發(fā)

        探索 AUTOSAR 與 英飛凌 AURIX? TC4x MCAL 解決方案-上


        英飛凌的AURIX? TC4x微控制器家族是一個多核 (multi-core)系統(tǒng)并且增強支持虛擬化 (virtualization)功能和分區(qū)(partitioning)功能。它可以單獨在每個核上啟用/禁用虛擬化。并且MCAL軟件可以與這些構建在single core, multi-core 或者 virtualized cores上的應用程序無縫配合。


        01

        AURIX? TC4x MCAL的虛擬化

        和分區(qū)功能


        英飛凌為AURIX? TC4x微控制器家族提供完備的MCAL驅(qū)動層,并且這些驅(qū)動符合AUTOSAR R20-11(Memory drivers 滿足R20-11)標準。


        AURIX? TC4x 的MCAL是具備滿足ASIL D安全等級的驅(qū)動程序,并且增強對multi-core, virtualization, ASIL partitioning的支持,從而提供更大的靈活性,簡化客戶的軟件分區(qū)和系統(tǒng)級安全論證。


        02

        AURIX? 的多核 、虛擬化和

        分區(qū)的聯(lián)系


        1


        AURIX?在multi-core環(huán)境下的Partitioning (no virtualization):

        316c1e203c215e684da768a8e4f3374.png


        2


        AURIX?在multi-core環(huán)境下的virtualization 以及Partitioning:


        db50e6a43b4c8f5ddb585023363386d.png03

        AURIX? TC4x TriCore?1.8 針對

        虛擬化的增強功能


        TriCore?1.8增強了硬件對virtualization的支持,采用獨特的設計,針對virtualization應用所需的Hypervisor而配備的功能寄存器和特殊指令集,在確保安全前提下,能夠快速在Hypervisor 的VMx (VM: Virtual Machine) 間切換。


        TriCore?1.8 每個core內(nèi)部部署HRHV, HRA, HRB 三組虛擬機管理寄存器, 對VMx任務進行管理,該策略支持虛擬機VMx之間的相互隔離和獨立運行。通常HRHV 用于管理VM0的Hypervisor 運行,HRA用于管理Real Time 虛擬機VM1運行,  而HRB 用于可配置的多達6個虛擬機VM2…7的運行管理。


        04

        AURIX? TC4x 的虛擬化分區(qū)

        在MCAL中的應用案例


        1


        MCAL的應用案例 - monolithic software

        圖片


        在monolithic Software Stack的應用實例中, Software Stack作為一個不被分割的monolithic Software工作在單核上,包含一個獨立的MCAL代碼實例,所有的硬件資源都被分配給這個monolithic Software。


        2


        MCAL的應用案例 - multi-core

        圖片


        在multi-core應用實例中,software stack工作在多核上,software stack可能在每一個核上都有很多分區(qū),并且為每個分區(qū)分配了不同的硬件資源,每個分區(qū)可以有不同的ASIL,這是單核實例的擴展,以支持多核系統(tǒng)。


        3


        MCAL的應用案例 - multiple SW stacks

        圖片


        在multiple software stack應用實例中,multiple software stacks (binaries)被分配到芯片的不同的執(zhí)行單元上。每一個binary 內(nèi)包含一個MCAL的實例,而且里面包含一些硬件資源被分配到分區(qū)當中。每一個binary是獨立的,自包含的,可運行在單核或多核上。


        4


        MCAL的應用案例 - single core with partitions

        706520a4e7ac72599b32844805e4486.png


        在single core應用實例中,software stack工作在單核上,software stack可以包括多個分區(qū)。但是,MCAL軟件本身僅支持從單個分區(qū)執(zhí)行。所有驅(qū)動程序所需的硬件資源的所有實例都分配給該分區(qū)。


        在MCAL軟件需要從single core上的不同分區(qū)進行操作的情況下,例如不同分區(qū)位于不同ASIL的情況,“integration software”應為試圖執(zhí)行MCAL的每個分區(qū)提供唯一標識符。MCAL允許“integration software”通過“configuration module and stub implementation for static source code”提供該標識符。如果沒有integration software的這種實現(xiàn),MCAL軟件就無法在同一核的多個分區(qū)上運行。


        5


        MCAL的應用案例 - virtualized core

        圖片


        在virtualized core應用實例中,software stack工作在virtualized core上(VM1 to VM7), 這樣的配置使得應用實例可以支持多個分區(qū)運行在同一個physical core上,并且每個分區(qū)可以有不同的ASIL等級。這里每個virtualized core可以安排一個分區(qū)的一個物理核上,也可以安排最多7個分區(qū)(using VM1 to VM7) 在一個物理核上。


        在MCAL軟件需要從一個virtualized core上的不同分區(qū)進行操作的情況下,“integration software”應為試圖執(zhí)行MCAL的每個partition提供唯一標識符。MCAL允許“integration software”通過“configuration module and stub implementation for static source code” 的方式提供該標識符。如果沒有integration software的這種實現(xiàn),MCAL軟件就無法在同一核上的多個分區(qū)上運行。


        *博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。



        關鍵詞: 英飛凌 汽車電子

        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 台北市| 靖西县| 新竹市| 崇礼县| 竹北市| 金山区| 随州市| 西盟| 普兰店市| 清丰县| 昭觉县| 思南县| 客服| 白朗县| 察雅县| 皋兰县| 湛江市| 龙口市| 阳原县| 宁武县| 米林县| 清新县| 淮安市| 靖宇县| 三台县| 石家庄市| 刚察县| 内黄县| 兴海县| 泰州市| 贡觉县| 盐山县| 宣城市| 丁青县| 武川县| 怀宁县| 老河口市| 神木县| 承德市| 宁夏| 朝阳区|