AutoSAR,在多核汽车MCU中如何运行

  • 2023/06/29

小二之前只开发过异构双核的芯片,各跑各的软件(比如各自运行一套FreeRTOS,反正组件裁剪下也不大),针对类似Stellar,AURIX这样的同构多核的软件不了解;

比如针对AutoSAR,在AURIX 三核处理器上,上如何运行? 看到CSDN上JokerCK的文章,觉得好像懂了,记录如下,水平有限,欢迎指正

阅读前,一些说明:

RPC,远程过程调用(Remote Procedure Call),一般是核间通信

SWC即Software Component缩写,一般位于AUTOSAR架构的Application层

AUTOSAR分四层:Application、RTE(RunTime Environment,运行环境)、BSW(Basic Software,基础软件)和MCAL(MicroController Abstration Layer,微处理器抽象层)

多核架构-基于AUTOSAR 4.3

AUTOSAR 4.3中定义了如下多核架构,基于这份架构,Application SWC 可以按照需求分到不同的核上,但是可以看到绝大多数的BSW Module 都在一个核上,部分BSW Module会在两个核上都存在实例

RTE横跨多核之间,为SWC与BSW Module之间提供Mapping。这个Mapping分为两种,一种是这个BSW Module提供了在对应核上的Satellite时,另一种是没有Staellite,如下图:

基本概念介绍

AUTOSAR描述了关于跨核/Partition调用服务的三种方式,一种就是直接,通过RPC(Remote Procee Call),这种方式下RTE可能会替你生成一系列的保护措施,比如SpinLock;第二种就是BSW Satellite,第三种就是Proxy,他主要是通过将直接的跨核C/S调用转成了资源消耗更少的S/R接口调用,如下图:

RPC没有固定的机制,如上述提到的SpinLock就是其中一种,但是无论哪种机制,其为了解决数据一致性所带来的额外开销都是比较大的。所以Proxy以及Statellite机制的目的就是为了提高在所有的核上对BSW Module的基本服务的高效的访问。

也就是说,利用Proxy或者Satellite机制之后,你就不需要像以前为了性能考虑而将需要使用特定BSW Module的服务的SWC,一定与这个BSW Module放在一个核,为设计带来了灵活性。当然,即使是使用了Proxy或者Satellite,仍然会有一定的资源开销,但是这相比与直接的RPC来说,都微乎其微。

使用Satellite在多核中主要有如下两个好处:

1. (improved efficiency)RTE不再需要生成RPC机制;

2. 因为Statellite也是BSW Module的一部分,他承担了一部分的工作,很显然这会带来性能提升,因为调用方所在的核也会执行一部分的任务,即分担了主核的一些工作。

AUTOSAR WdgM, Dem, EcuM, Det 都提供了Satellite机制。

简单说,Proxy就是用更轻量级的S/R接口取代了耗时的跨核的C/S调用(很显然,跨核C/S直接调用,调用方要等被调用方执行完成),最终实际的操作肯定还是C/S函数,但是这已经由原来的跨核变成了同一个核内由Proxy去直接调用BSW服务(参考上图),显然更好。

比较常见的有Com-Proxy和NVM-Proxy,其中Com-Proxy的Tx要注意要放到Com_MainFunctionTx之前:

术语

Core Types

多核架构中有Master Core和Slave Core之分,这是针对处理器而言的,如Tc27x系列,Core0是主核,但是AUTOSAR又有个概念叫做BSW Core,即绝大多数的BSW 模块都Mapping在BSW Core上。BSW Core可以是Master Core也可以是其他的Slave Core之一。

Partition

AUTOSAR中,Partition指的是一组SWC,BSW Module(Satellite),Task的合集,具体体现就是某个OS Application。Partition有等级划分,从QM到ASILD,对应MPU的第几个Set。需要注意一点,OS Application也有Trusted和Non-Trusted之分,但是这根ASIL等级无关,QM的Partition也可以是Trusted的。

 

人工客服
(售后/吐槽/合作/交友)
  • 器件型号:DG455EQ-T1-E3
    • 数量 1
    • 建议厂商 Vishay Intertechnologies
    • 器件描述 Analog Switch Quad SPST 16-Pin TSSOP T/R
    • 参考价格 $3.94
    • 风险等级
    • ECAD模型
    • 数据手册
    • 查看更多信息
  • 器件型号:FSBB20CH60C
    • 数量 1
    • 建议厂商 onsemi
    • 器件描述 Intelligent Power Module, 600V, 20A, 60-TUBE
    • 参考价格 $26.91
    • 风险等级
    • ECAD模型
    • 数据手册
    • 查看更多信息
  • 器件型号:TPS2412PWR
    • 数量 1
    • 建议厂商 Texas Instruments
    • 器件描述 0.8-V to 16.5-V 1.2A IQ 292-uA Igate source N+1 and OR-ing power rail controller 8-TSSOP -40 to 85
    • 参考价格 $2.64
    • 风险等级
    • ECAD模型

      ECAD模型

      下载ECAD模型
    • 数据手册
    • 查看更多信息

相关资讯

  1. 1.
  2. 2.
  3. 3.
  4. 4.
  5. 5.
  6. 6.
  7. 7.
  8. 8.
  9. 9.
  10. 10.
  11. 11.
  12. 12.
  13. 13.
  14. 14.
  15. 15.
  16. 16.
  17. 17.
  18. 18.
  19. 19.
  20. 20.
查看全部20条内容