main content

验证生成的代码 -凯发k8网页登录

验证生成的代码

自 r2019b 起

说明

sil/pil 管理器简化您从模型中生成的代码的验证。

您可以:

  • 只需一次点击,通过运行背靠背模型仿真和软件在环 (sil) 或处理器在环 (pil) 仿真,测试模型和生成代码之间的数值等效性。

  • 配置 sil 或 pil 仿真以生成代码覆盖率、执行时间和堆栈使用量度量。

  • 为 sil 仿真启用您的调试器。

  • simulink® test™ 导出自动生成的测试用例。

打开 sil/pil 管理器 app

在 simulink 工具条上的 app 选项卡上,点击 sil/pil 管理器。或者,在 embedded coder 的 c 代码选项卡上,点击验证代码 > sil/pil 管理器

示例

  1. 在命令行窗口中,输入:

    openexample('ecoder/silpilverificationexample', ...
                 supportingfile='siltopmodel.slx')
    模型在 simulink 编辑器中打开,并显示 sil/pil 选项卡。
  2. sil 和 pil 仿真不支持代码执行时间探查和代码覆盖率分析。对于此示例,禁用代码覆盖率:

    1. 准备部分中,点击设置

    2. 覆盖率下,点击覆盖率收集按钮将其关闭。

  3. 运行自动验证部分中,点击运行验证

    sil/pil 管理器以背靠背方式运行这些仿真:

    • 普通模式下的 siltopmodel

    • sil 模式下的 siltopmodel。启用时间探查控件后,sil 仿真还会进行代码执行探查。

    您可以通过诊断查看器监控仿真进度。

    在第二次仿真结束时:

    • sil/pil 管理器会在代码视图中显示生成的代码,因此您能够分析生成的代码,查看代码度量,并在模型元素和生成的代码之间进行追溯。

    • 仿真数据检查器将来自模型的结果与来自生成代码的结果进行比较。

    • 要查看执行时间度量,请在模型视图中,点击蓝色区域。

      要详细查看结果,请通过点击链接打开代码探查分析器。

  1. 在命令行窗口中,输入:

    openexample('ecoder/silpilverificationexample', ...
                 supportingfile='siltopmodel.slx')
    模型在 simulink 编辑器中打开,并显示 sil/pil 选项卡。
  2. 对于此示例,禁用代码执行时间探查和代码覆盖率:

    1. 准备部分中,点击设置

    2. 时间探查下,点击任务探查按钮并关闭函数按钮。

    3. 覆盖率下,点击覆盖率收集按钮将其关闭。

  3. 在第二次仿真结束时:

    • 检查来自模型的结果和来自生成代码的结果在数值上是否等效。在结果库中的数值等效结果下,点击比较运行数据检查器

    • 导出 simulink test 的一个测试用例。在 simulink test 下,点击导出到测试管理器。然后,在“导出 sil/pil 测试用例”对话框中,使用默认设置,并点击确定

      sil/pil 管理器:

      • siltopmodel_testfile.mldatx 中创建测试用例,您可以在当前工作文件夹中找到它。

      • 打开包含测试用例的测试文件。

        有关在 simulink test 中运行测试用例的信息,请参阅 (simulink test)

  1. 在命令行窗口中,输入:

    openexample('ecoder/silpilverificationexample', ...
                 supportingfile='siltopmodel.slx')
    模型在 simulink 编辑器中打开,并显示 sil/pil 选项卡。
  2. 模式部分中,选择仅 sil/pil 仿真

  3. 准备部分中,打开设置库:

    1. 时间探查下,点击任务探查按钮并关闭函数按钮。

    2. 覆盖率下,点击覆盖率收集按钮将其关闭。

    3. 堆栈探查下,点击堆栈探查按钮将其打开。

  4. 运行部分中,点击运行 sil/pil

    sil 仿真将堆栈使用量数据流式传输到仿真数据检查器。仿真完成后,sil/pil 管理器会打开该模型的代码堆栈探查报告。

  5. 要详细检查结果,请使用代码探查分析器。在结果库中的堆栈探查结果下,点击代码探查分析器按钮。

相关示例

    版本历史记录

    在 r2019b 中推出

    网站地图