主要内容

自定义C/ c++代码的覆盖率金宝app模型

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

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

在你的Simulink中为自定义C/ c++代码启用代码覆盖金宝app®模型:

  1. 模拟目标窗格中,选择导入自定义代码

  2. 模拟目标窗格中,选择启用自定义代码分析

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

s -功能的代码覆盖

使s -功能与型号兼容

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

有关这三种方法的更多信息,请参见实现C / c++ S-Functions

功能使用legacy_code函数

  1. 初始化一个MATLAB®结构,其中包含表示遗留代码工具属性的字段。

    def = legacy_code (“初始化”)

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

    def.Options.金宝appsupportCoverageAndDesignVerifier = true;
  3. 使用结构def用通常的方法生成s函数。例如,请参见覆盖S-Functions

使用s函数生成器实现s函数

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

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

  3. 建立信息选项卡上,选择支持覆盖金宝app

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

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

为s -功能生成覆盖报告

  1. 在Simuli金宝appnk编辑器中,选择模型设置建模选项卡。

  2. 报道窗格中,选择C / c++ S-functions

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

相关的例子

更多关于