跑Polyspace对生成代码的分析嵌入式编码器
如果您从simulink生成代码金宝app®使用嵌入式编码器的模型®或TargetLink®,您可以使用polyspace分析错误或运行时错误的生成代码®从Simulink环境中。金宝app您不必手动设置Polyspace项目。
该主题使用嵌入式编码器进行代码生成。要分析目标链接生成的代码,请参见对使用TargetLink生成的代码运行Polyspace分析。
有关具有特定模型的教程,请参见在Simulink模型生成的代码上运行多源空间分析金宝app。
先决条件
在从Simulink运行polyspace之前,您必须链接p金宝appolyspace和matlab®安装。看将Polyspace与MATLAB和SIMULINK集成金宝app。
生成和分析代码
配置代码生成并生成代码
要配置代码生成并从模型生成代码,请执行以下:
在应用选项卡,选择嵌入式编码器。然后,在C代码选项卡,选择快速开始。按照屏幕上的说明进行操作。
在C代码选项卡,单击设置并通过Simulink配置参数配置代码生成。金宝app要设置的主要参数是:
有关要设置的参数的完整列表,请参见推荐的模型配置参数用于多层空间分析。
或者,以目标运行代码生成顾问Polyspace并查看是否已经设置了所需的参数。看通过使用代码生成顾问为代码生成目标配置模型(嵌入式编码器)。
从模型生成代码,C代码选项卡,选择生成代码。您可以关注诊断观看器中代码生成的进度。
配置代码分析
在应用选项卡,选择Polyspace代码验证器。在Polyspace标签:
分析代码
要分析从模型生成的代码,请单击画布上的任何地方。这分析代码字段显示模型名称。选择运行分析。
使用嵌入式编码器时,单击时,PolySpace检查生成的代码运行分析。如果没有生成的代码或自上次Polyspace分析以来模型已更改,则PolySpace首先启动代码生成过程,然后开始分析。
如果另一个模型中引用了当前模型,并且您想在引用该模型的上下文中验证生成的代码,而不是代码作为顶级模型生成, 利用代码作为模型参考。在后一种情况下,如果没有生成的代码,PolySpace不会自动启动代码生成。分析时代码作为模型参考,在运行Polyspace分析之前生成代码。
您可以在MATLAB命令窗口中关注分析的进度。
除非明确禁用,否则结果会自动打开。默认情况下,结果保存在文件夹中结果_
在当前文件夹中。每个新运行覆盖以前的结果。您可以更改默认文件夹或将结果保存到Simulink项目。金宝app为了进行这些更改Polyspace选项卡,选择设置。型号名称
如果您关闭了结果并希望以后打开它们,请在Polyspace选项卡,选择分析结果。要在上次运行之前打开结果,请选择打开早期结果并导航到包含先前结果的文件夹。
审查分析结果
审查代码的结果
结果出现在Polyspace用户界面上结果列表窗格。单击每个结果以查看源代码资源窗格以及有关结果细节窗格。也可以看看:
从代码到模型导航
代码注释中的链接显示了生成后续代码行的块。要查看模型中的块,请单击链接中的块名。如果您遇到问题,请参阅将导航从代码到模型进行故障排除。
另外,您可以右键单击一个变量名称,然后选择转到模型。此选项并不适用于所有变量。只有一个源代码变量的子集可以直接追溯到simulink块。金宝app这转到模型该变量可用于选项。有关更多详细信息,可以将生成代码中的哪些变量追溯到Simulink块,请参见金宝app在生成的代码金宝app中跟踪模型元素(嵌入式编码器)。
解决问题
调查代码中的问题是否与模型中的设计缺陷有关。
模型中的设计缺陷可能会导致生成的代码中的问题。例如:
如果将手写的C/C ++代码包括在S功能块中,则PolySpace分析可以揭示手写和生成的代码之间可能的集成问题。您还可以隔离分析手写代码。看在S功能代码上运行Polyspace分析。
注释块以证明问题合理
您可能需要在不修改代码或模型的情况下证明一些polyspace结果是合理的。注释Simulin金宝appk从Polyspace用户界面或Simulink编辑器中块。看通过注释simulink块来解决polyspace结果金宝app。