主要内容

使用 SIL 和 PIL 仿真验证 AUTOSAR 代码

在开发 AUTOSAR 软件过程中,您可以使用软件在环 (SIL) 和处理器在环 (PIL) 仿真执行 AUTOSAR 软件组件的代码验证。使用 SIL 仿真在开发计算机上验证生成的源代码,使用 PIL 仿真在生产目标硬件上验证目标代码。有关详细信息,请参阅选择 SIL 或 PIL 方法 (Embedded Coder)

代码验证通过对行为和结构进行比较,反映出组件模型与其生成的代码之间是否存在等效性。您可以:

  • 通过将普通模式仿真结果与 SIL 或 PIL 仿真结果进行比较,测试组件模型与生成代码之间是否存在数值等效性。

  • 通过将模型覆盖率与代码覆盖率进行比较或执行可追溯性分析,证明不存在不需要的功能。

    • 配置 SIL 和 PIL 仿真以生成代码覆盖率度量。

    • 生成针对模型对象和生成的代码之间的双向可追溯性报告。

为 AUTOSAR Adaptive 平台配置的软件组件模型不支持 SIL 和 PIL 仿真。对于系统目标文件设置为 autosar_adaptive.tlc 的 AUTOSAR 软件组件模型,您可以通过将代码接口设置为模型引用来运行 Model 模块 SIL 仿真,以进行 Model 模块的单元级测试。在这种情况下,在测 Model 模块无法引用映射到 AUTOSAR 软件组件的模型。

对于为 AUTOSAR Classic 平台配置的模型,您可以通过配置顶层模型或 Model 模块来运行 SIL 和 PIL 仿真。

  • 您可以使用 SIL/PIL 管理器 (Embedded Coder)并将在测系统设置为顶层模型、将 SIL/PIL 模式设置为软件在环 (SIL)处理器在环(PIL),对为 AUTOSAR 系统目标文件 autosar.tlc 配置的 AUTOSAR 软件组件模型进行测试。您也可以通过在测试框架模型中使用 Model 模块来引用 AUTOSAR 软件组件模型。

  • 您可以使用 Model 模块的 SIL 或 PIL 仿真,对引用为 AUTOSAR 系统目标文件 autosar.tlc 配置的 AUTOSAR 软件子组件模型的 Model 模块进行单元级测试。在 Model 模块上,将仿真模式设置为软件在环(SIL)处理器在环(PIL),并将代码接口设置为模型引用。在这种情况下,在您运行仿真之前,必须编译父组件来生成 AUTOSAR 运行时环境 (RTE) 头文件。如果不编译父组件,SIL 或 PIL 仿真将失败。对于为 AUTOSAR Classic 平台配置的模型,您可以通过使用函数 slbuild 并指定 "ModelReferenceCoderTarget" 来编译子组件模型。例如,

    slbuild("autosar_subcomponent","ModelReferenceCoderTarget");
    有关从 AUTOSAR 软件组件引用的已映射 AUTOSAR 子组件的示例,请参阅Configure Subcomponent Data for AUTOSAR Calibration and Measurement

  • 对于多个 AUTOSAR 软件组件的组合级测试,请在组合、架构模型或测试框架模型中引用组件模型。在每个在测组件的 Model 模块中,将仿真模式设置为软件在环 (SIL)处理器在环(PIL),并将代码接口设置为顶层模型

有关详细信息,请参阅使用顶层模型进行仿真 (Embedded Coder)使用 Model 模块进行仿真 (Embedded Coder)

如果您有 Simulink® Test™ 软件,您可以使用测试框架来实现以下目的:

另请参阅

主题