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

作者:英飛凌汽車電子生態圈

英飛凌的AURIX™ TC4x微控制器家族是一個多核心(multi-core)系統並且增強支援虛擬化(virtualization)功能和分區(partitioning)功能。它可以單獨在每個核上啟用/停用虛擬化。並且MCAL軟體可以與這些建構在single core, multi-core 或virtualized cores上的應用程式無縫配合。

 

01. AURIX™ TC4x MCAL的虛擬化和分區功能

 

英飛凌為AU RIX ™ TC4x微控制器家族提供完整的MCAL驅動層,且這些驅動程式符合AUTOSAR R20-11(Memory drivers 符合R20-11)標準。

 

AU RIX ™ TC4x 的MCAL是具備滿足ASIL D安全等級的驅動程序,並且增強對multi-core, virtualization, ASIL partitioning的支持,從而提供更大的靈活性,簡化客戶的軟體分區和系統級安全論證。

 

02. AURIX™ 的多核心、虛擬化和分區的聯繫


AURIX ™在multi-core環境下的Partitioning (no virtualization):

AURIX ™在multi-core環境下的virtualization 以及Partitioning:


03. AURIX™ TC4x TriCore™1.8 針對虛擬化的增強功能

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

 

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

 

04. AURIX™ TC4x 的虛擬化與分割區在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可能在每個核心上都有許多分割區,並且為每個分割區分配了不同的硬體資源,每個分割區可以有不同的ASIL,這是單核心實例的擴展,以支援多核心系統。



3. MCAL的應用案例- multiple SW stacks

在multiple software stack應用程式實例中,multiple software stacks (binaries)被指派到晶片的不同的執行單元上。每一個binary 內包含一個MCAL的實例,而且裡麵包含一些硬體資源被分配到分區當中。每一個binary是獨立的,自包含的,可運行在單核心或多核心上。


4. MCAL的應用案例- single core with partitions


在single core應用程式實例中,software stack工作在單核心上,software stack可以包含多個分割區。但是,MCAL軟體本身僅支援從單一分區執行。所有驅動程式所需的硬體資源的所有實例都指派給該分割區。

 

在MCAL軟體需要從single core上的不同分割區進行操作的情況下,例如不同分割區位於不同ASIL的情況,「integration software」應為試圖執行MCAL的每個分割區提供唯一識別碼。 MCAL允許「integration software」透過「configuration module and stub implementation for static source code」提供該識別碼。如果沒有integration software的這種實現,MCAL軟體就無法在同一核心的多個分割區上運作。


5. MCAL的應用案例- virtualized core

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

 

在MCAL軟體需要從一個virtualized core上的不同分割區進行操作的情況下,「integration software」應為試圖執行MCAL的每個partition提供唯一識別碼。 MCAL允許「integration software」透過「configuration module and stub implementation for static source code」 的方式提供該識別碼。如果沒有integration software的這種實現,MCAL軟體就無法在同一核心上的多個分割區上運作。

 

參考文獻:
    1.“AUTOSAR_EXP_BSWDistributionGuide.pdf” https://www.autosar.org/fileadmin/standards/R21-11/CP/AUTOSAR_EXP_BSWDistributionGuide.pdf


扫描二维码,关注英飞凌汽车电子寻找更多应用或产品信息

★博文內容參考自 網站,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★博文作者未開放評論功能

參考來源

英飛凌汽車電子生態圈: https://mp.weixin.qq.com/s/ZRn-IyRQzsqbQkF4D_i9YA