新闻  |   论坛  |   博客  |   在线研讨会
探索 AUTOSAR 与 英飞凌 AURIX™ TC4x MCAL 解决方案-下探索 AUTOSAR 与 英飞凌 AURIX™ TC4x MCAL 解决方案-下
hejingfeng | 2024-10-14 11:10:00    阅读:81   发布文章

往期回顾

AURIX™  TC4x  微控制器的并行处理单元(PPU)简介

AURIX™ TC4x免费开发环境介绍

英飞凌新一代MCU AURIX™  TC4x 即将量产

缘起今生:英飞凌车规MCU全系支持Rust 语言开发

探索 AUTOSAR 与 英飞凌 AURIX™ TC4x MCAL 解决方案-上


英飞凌的AURIX™ TC4x微控制器家族是一个多核 (multi-core)系统并且增强支持虚拟化 (virtualization)功能和分区(partitioning)功能。它可以单独在每个核上启用/禁用虚拟化。并且MCAL软件可以与这些构建在single core, multi-core 或者 virtualized cores上的应用程序无缝配合。


01

AURIX™ TC4x MCAL的虚拟化

和分区功能


英飞凌为AURIX TC4x微控制器家族提供完备的MCAL驱动层,并且这些驱动符合AUTOSAR R20-11(Memory drivers 满足R20-11)标准。


AURIX TC4x 的MCAL是具备满足ASIL D安全等级的驱动程序,并且增强对multi-core, virtualization, ASIL partitioning的支持,从而提供更大的灵活性,简化客户的软件分区和系统级安全论证。


02

AURIX™ 的多核 、虚拟化和

分区的联系


1


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

316c1e203c215e684da768a8e4f3374.png


2


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


db50e6a43b4c8f5ddb585023363386d.png03

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

706520a4e7ac72599b32844805e4486.png


在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软件就无法在同一核上的多个分区上运行。


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客