主要内容

中自定义C/ c++代码的覆盖范围动态仿真模块模型

当您记录包含支持的C/ c++ s函数的模型的覆盖率时,MATLAB函数调用外部C/ c++代码的块,C调用者块与C/ c++代码,或状态流®图表集成了自定义的C/ c++代码进行模拟,C/ c++ S-Functions中C/ c++代码的覆盖范围被记录下来。MATLAB函数块或状态流程图。定制代码的覆盖率结果可以在与模型其余部分相同的报告中查看。为每一个功能块,MATLAB函数块,或状态流图,报告链接到块中C/ c++代码的详细覆盖率报告。

为自定义C/ c++代码启用代码覆盖MATLAB函数块,C调用者块,Stateflow图表

在您的Simulink中启用自定义C/ c++代码的代码覆盖®模型:

  1. 模拟目标窗格中的“配置参数”,选择导入自定义代码

  2. 模拟目标窗格中的“配置参数”,选择启用自定义代码分析

仿真软件覆盖™中记录自定义C/ c++代码的代码覆盖率MATLAB函数块,C调用者块和状态流程图。

s函数的代码覆盖率

使S-Function与型号覆盖率兼容

如果你使用legacy_code函数,s函数生成器块或墨西哥人函数创建您的S-Functions,适当调整您的方法,使S-Function与模型覆盖兼容。

有关这三种方法的更多信息,请参见实现C/ c++ s函数

功能使用legacy_code函数

  1. 初始化MATLAB®结构和表示遗留代码工具属性的字段。

    Def = legacy_code(“初始化”

  2. 要启用模型覆盖,请打开该选项def.Options.supportCoverage

    def.Options.supportCoverageAndDesignVerifier = true;
  3. 使用结构def用通常的方法来生成s函数。有关示例,请参见s函数的覆盖率

S-Function使用S-Function Builder

  1. 的实例s函数生成器用户定义函数将库浏览器中的库放入您的模型中。

  2. 双击该块打开S-Function Builder对话框。

  3. 建立信息选项卡上,选择启用覆盖支持

功能使用墨西哥人函数。如果你使用墨西哥人函数编译和链接源文件,请使用slcovmex函数来代替。的slcovmex函数编译源代码并使其与coverage兼容。

该函数具有相同的语法和相同的选项墨西哥人函数。另外,您可以提供一些与模型覆盖相关的选项。有关更多信息,请参见slcovmex

为S-Function生成覆盖率报告

  1. 在Simulink编辑器中,选择模型设置建模选项卡。

  2. 报道“配置参数”对话框中纳入分析中,选择C / c++ S-functions

当您运行模拟时,覆盖报告包含您模型中C/ c++ S-Function块的覆盖度量。为每一个功能块中,报告链接到块中C/ c++代码的详细覆盖率报告。

相关的例子

更多关于

Baidu
map