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