当您记录包含受支持的C/ c++ s -函数的模型的覆盖率时,金宝appMATLAB函数调用外部C/ c++代码的块,C调用者块与C/ c++代码,或statflow®在C/ c++ S-Functions中记录C/ c++代码的覆盖率,MATLAB函数块或状态流图。自定义代码的覆盖率结果可以在与模型的其余部分相同的报告中查看。为每一个功能块,MATLAB函数块,或状态流程图,报告链接到块中C/ c++代码的详细覆盖率报告。
在你的Simulink中为自定义C/ c++代码启用代码覆盖金宝app®模型:
在模拟目标窗格中,选择导入自定义代码.
在模拟目标窗格中,选择启用自定义代码分析.
金宝app仿真软件覆盖™中自定义C/ c++代码的代码覆盖率MATLAB函数块,C调用者块和状态流图。
如果你使用legacy_code
函数,s函数生成器块或墨西哥人
功能创建您的s -功能,适当调整您的方法,使s -功能兼容的模型覆盖。
有关这三种方法的更多信息,请参见实现C / c++ S-Functions.
功能使用legacy_code
函数
初始化一个MATLAB®结构,其中包含表示遗留代码工具属性的字段。
def = legacy_code (“初始化”)
要启用模型覆盖,请打开该选项def.Options.金宝appsupportCoverage
.
def.Options.金宝appsupportCoverageAndDesignVerifier = true;
使用结构def
用通常的方法生成s函数。例如,请参见覆盖S-Functions.
使用s函数生成器实现s函数
的实例s函数生成器块的用户定义函数库浏览器中的库导入模型中。
双击该块以打开S-Function Builder对话框。
在建立信息选项卡上,选择支持覆盖金宝app.
功能使用墨西哥人
函数。如果你使用墨西哥人
函数来编译和链接源文件,请使用slcovmex
函数来代替。的slcovmex
函数编译源代码,并使其与覆盖率兼容。
该函数具有相同的语法,并接受与墨西哥人
函数。此外,您可以提供一些与模型覆盖率相关的选项。有关更多信息,请参见slcovmex
.
在Simuli金宝appnk编辑器中,选择模型设置在建模选项卡。
在报道窗格中,选择C / c++ S-functions.
当您运行模拟时,覆盖率报告包含模型中C/ c++ S-Function块的覆盖率指标。为每一个功能块,报告链接到块中C/ c++代码的详细覆盖率报告。