【问题标题】:AUTOSAR SWC Global VariablesAUTOSAR SWC 全局变量
【发布时间】:2026-02-14 20:35:01
【问题描述】:

如何在组件中定义一个全局变量,该变量可由属于该组件的所有可运行对象访问,而无需在组件模型中使用 IRV?

【问题讨论】:

    标签: global-variables autosar


    【解决方案1】:

    有三种可能的方式来实现这一点:

    • InternalBehavior.staticMemory:如果您想让代码中的变量对测量和校准系统可见,则通常定义这种变量,即可以导出变量的 A2L 描述以用于下游处理测控工具。如果封闭的软件组件没有被多次实例化,这个变体只是一个可行的选择。
    • SwcInternalBehavior.arTypedPerInstanceVariable:在这里您定义了一个在多重定义的软件组件中受支持的变量。该变量具有建模数据类型,并由 RTE 分配,该 RTE 还提供用于访问该变量的专用 API。
    • SwcInternalBehavior.perInstanceMemory:这里直接使用C数据类型定义变量,即数据类型没有建模。该变量由 RTE 分配,该 RTE 还提供用于访问该变量的专用 API。

    上述方法均未提供任何形式的自动一致性机制。在 AUTOSAR 标准化机制的帮助下,确保数据一致性完全留给应用软件。

    【讨论】:

      【解决方案2】:

      答案是:每实例内存 (PIM)

      【讨论】: