验证生成的代码 -凯发官方首页
验证生成的代码
自 r2019b 起
说明
sil/pil 管理器简化您从模型中生成的代码的验证。
您可以:
只需一次点击,通过运行背靠背模型仿真和软件在环 (sil) 或处理器在环 (pil) 仿真,测试模型和生成代码之间的数值等效性。
配置 sil 或 pil 仿真以生成代码覆盖率、执行时间和堆栈使用量度量。
为 sil 仿真启用您的调试器。
为 simulink® test™ 导出自动生成的测试用例。

打开 sil/pil 管理器 app
在 simulink 工具条上的 app 选项卡上,点击 sil/pil 管理器。或者,在 embedded coder 的 c 代码选项卡上,点击验证代码 > sil/pil 管理器。
示例
只需点击一下即可验证顶层模型代码
在命令行窗口中,输入:
模型在 simulink 编辑器中打开,并显示 sil/pil 选项卡。openexample('ecoder/silpilverificationexample', ... supportingfile='siltopmodel.slx')
sil 和 pil 仿真不支持代码执行时间探查和代码覆盖率分析。对于此示例,禁用代码覆盖率:
在准备部分中,点击设置。
在覆盖率下,点击覆盖率收集按钮将其关闭。
在运行自动验证部分中,点击运行验证。
sil/pil 管理器以背靠背方式运行这些仿真:
普通模式下的
siltopmodel
sil 模式下的
siltopmodel
。启用时间探查控件后,sil 仿真还会进行代码执行探查。
您可以通过诊断查看器监控仿真进度。
在第二次仿真结束时:
sil/pil 管理器会在代码视图中显示生成的代码,因此您能够分析生成的代码,查看代码度量,并在模型元素和生成的代码之间进行追溯。
仿真数据检查器将来自模型的结果与来自生成代码的结果进行比较。
要查看执行时间度量,请在模型视图中,点击蓝色区域。
要详细查看结果,请通过点击链接打开代码探查分析器。
为 simulink test 导出数值等效性测试用例
在命令行窗口中,输入:
模型在 simulink 编辑器中打开,并显示 sil/pil 选项卡。openexample('ecoder/silpilverificationexample', ... supportingfile='siltopmodel.slx')
对于此示例,禁用代码执行时间探查和代码覆盖率:
在准备部分中,点击设置。
在时间探查下,点击任务探查按钮并关闭函数按钮。
在覆盖率下,点击覆盖率收集按钮将其关闭。
在第二次仿真结束时:
检查来自模型的结果和来自生成代码的结果在数值上是否等效。在结果库中的数值等效结果下,点击比较运行或数据检查器。
导出 simulink test 的一个测试用例。在 simulink test 下,点击导出到测试管理器。然后,在“导出 sil/pil 测试用例”对话框中,使用默认设置,并点击确定。
sil/pil 管理器:
在
siltopmodel_testfile.mldatx
中创建测试用例,您可以在当前工作文件夹中找到它。打开包含测试用例的测试文件。
有关在 simulink test 中运行测试用例的信息,请参阅 (simulink test)。
生成堆栈使用量探查
在命令行窗口中,输入:
模型在 simulink 编辑器中打开,并显示 sil/pil 选项卡。openexample('ecoder/silpilverificationexample', ... supportingfile='siltopmodel.slx')
在模式部分中,选择仅 sil/pil 仿真。
在准备部分中,打开设置库:
在时间探查下,点击任务探查按钮并关闭函数按钮。
在覆盖率下,点击覆盖率收集按钮将其关闭。
在堆栈探查下,点击堆栈探查按钮将其打开。
在运行部分中,点击运行 sil/pil。
sil 仿真将堆栈使用量数据流式传输到仿真数据检查器。仿真完成后,sil/pil 管理器会打开该模型的代码堆栈探查报告。
要详细检查结果,请使用代码探查分析器。在结果库中的堆栈探查结果下,点击代码探查分析器按钮。
相关示例
版本历史记录
在 r2019b 中推出
另请参阅
matlab 命令
您点击的链接对应于以下 matlab 命令:
请在 matlab 命令行窗口中直接输入以执行命令。web 浏览器不支持 matlab 命令。
you can also select a web site from the following list:
how to get best site performance
select the china site (in chinese or english) for best site performance. other mathworks country sites are not optimized for visits from your location.