Main Content

本页采用了机器翻译。点击此处可查看英文原文。

软件在环 (SIL) 模式和处理器在环 (PIL) 模式下模型的代码覆盖率

如果您有 Embedded Coder®Simulink® Coverage™,您可以在软件在环(SIL) 或处理器在环(PIL)仿真期间分析生成代码的覆盖率。

为模型启用 SIL 或 PIL 代码覆盖率

要记录模型的 SIL 或 PIL 代码覆盖率:

  1. 确保您已安装受支持的编译器。有关受支持的编译器的列表,请参阅受支持和兼容的编译器

  2. 在配置参数对话框的左侧窗格中,点击代码生成。从列表中选择验证

  3. 代码探查下,将测量函数执行时间设置为关闭

  4. SIL 或 PIL 的代码覆盖率下,将第三方工具设置为无(使用 Simulink Coverage

  5. 启用 SIL 或 PIL 模式下的模型或 SIL 或 PIL 模式下的参考模型的覆盖率。有关启用覆盖率的更多信息,请参阅指定覆盖率选项

  6. 运行 SIL 或 PIL 仿真。

    注意

    覆盖率工具条中的 覆盖率(运行) 按钮强制对顶层模型进行普通模式仿真,并且不会产生 SIL 或 PIL 代码覆盖率。

    要运行 SIL 或 PIL 仿真:

    1. 在 Simulink 窗口中,点击 App,然后点击 SIL/PIL 管理器

    2. SIL/PIL 选项卡中,点击自动验证 > 仅 SIL/PIL 仿真

    3. 点击运行 SIL/PIL

查看 SIL 或 PIL 模式下模型的覆盖率结果

要查看代码窗格中的代码覆盖率信息,点击搜索框右侧的菜单图标并选择显示代码覆盖率。如果该选项被禁用,则在覆盖率 选项卡上,点击 覆盖率突出显示。代码显示突出显示和显示代码覆盖率信息的注释。您可以使用行号、代码元素和注释中的链接从代码导航到相关的模型模块。

Code view showing generated code with coverage annotations. Labels point to coverage annotations and links to model elements.

如果将光标指向覆盖率注释,则会出现包含附加信息的工具提示。

在 R2023a 中: 如果缺少覆盖率,您可以点击工具提示中的未覆盖链接以打开覆盖率结果资源管理器的过滤器资源管理器窗格,其中包含针对您选择的结果的新申述规则。

Code view showing generated code with the cursor pointed at an annotation. The annotation displays a summary of the coverage received for the decision. The false case is satisfied and the true case is not satisfied.

在代码视图的底部,Simulink Coverage 显示代码覆盖率报告的摘要。将光标指向列出的度量之一即可查看包含更多信息的工具提示。

Code coverage summary section of the Code view. The cursor is pointed at condition 41%, the tooltip displays a message that says 5 out of 12 conditions covered.

限制

SIL 和 PIL 模式下模型的覆盖率有以下限制:

  • 该模型必须满足为模型启用 SIL 或 PIL 代码覆盖率中列出的需求。

  • 代码覆盖率结果不能包含只读文件夹中的外部 C/C++ 文件。

  • 覆盖率工具条中的 覆盖率(运行) 按钮强制进行普通仿真,并且不会产生 SIL 或 PIL 代码覆盖率。

  • 无法在 Mac 计算机上分析处理器在环的代码覆盖率。

  • 代码窗格不支持修正条件/决策覆盖率(MCDC) 结果的注释或工具提示。因此,您无法从代码窗格中申述这些结果。

  • 代码窗格不支持创建排除过滤规则。要创建排除过滤规则,请使用覆盖率报告。

相关主题