如果从Simulink生成代码金宝app®模型使用嵌入式编码器®或目标联系®,您可以使用PolySpace分析生成的错误或运行时错误的生成代码®在Simulink环境中。金宝app您不必手动设置PolySpace项目。
本主题使用嵌入式编码器进行代码生成。用于分析TargetLink生成的代码,请参阅使用TargetLink生成的代码运行PolySpace分析。
对于具有特定模型的教程,请参阅从Simulink模型生成的代码运行PolySpace分析金宝app。
在从Simulink运行PolySpace之前,必须将您的P金宝appolySpace和Matlab链接®安装。看将PolySpace与Matlab和Simulink集成金宝app。
要配置代码生成并从模型生成代码,请执行其中一个:
在这一点应用选项卡,选择嵌入式编码器。然后,在C代码选项卡,选择快速开始。按照屏幕上的说明进行操作。
在这一点C代码选项卡,单击设置通过Simulink配置参数配置代码生成。金宝app设置的主要参数是:
有关设置的完整参数列表,请参阅推荐的PolySpace分析模型配置参数。
或者,使用目标运行代码生成顾问波尔盖斯并查看是否已设置所需的参数。看使用代码生成顾问配置代码生成目标的模型(嵌入式编码器)。
从模型生成代码,在C代码选项卡,选择生成代码。您可以遵循诊断查看器中的代码生成的进度。
在这一点应用选项卡,选择PolySpace代码验证者。在这一点波尔盖斯标签:
要分析模型生成的代码,请单击画布上的任意位置。这分析代码字段显示模型名称。选择运行分析。
如果当前模型在另一个模型中引用,并且您希望在引用模型的上下文中验证生成的代码,而不是作为顶级模型生成的代码, 用代码生成为模型引用。
您可以遵循MATLAB命令窗口中分析的进度。
除非明确禁用,否则结果自动打开。默认情况下,结果将保存在文件夹中结果_
在当前文件夹中。每个新运行覆盖以前的结果。您可以更改默认文件夹或将结果保存到Simulink项目。金宝app使这些变化发生在波尔盖斯选项卡,选择设置。型号名称
如果您已关闭结果并希望在以后打开它们波尔盖斯选项卡,选择分析结果。要在上次运行之前打开结果,请选择打开前面的结果并导航到包含以前结果的文件夹。
结果显示在PolySpace用户界面中结果清单窗格。单击每个结果以查看源代码来源窗格和细节结果细节窗格。也可以看看:
代码注释中的链接显示生成后续代码行的块。要在模型中看到块,请单击链接中的块名称。如果您遇到问题,请参阅从代码到型号的导航问题。
或者,您可以右键单击变量名称并选择去模特。所有变量不可用此选项。
调查代码中的问题是否与模型中的设计缺陷有关。
模型中的设计缺陷可能导致生成的代码中的问题。例如:
如果在S函数块中包含手写C / C ++代码,则PolySpace分析可以揭示手写和生成代码之间的可能集成问题。您还可以分析单独的手写代码。看在S函数代码运行PolySpace分析。
如果您不想响应PolySpace结果进行更改,请注释相关块。在注释块后,块生成的代码操作显示与您的评论有关的结果。如果向子系统块或导致函数调用的块注释,则从块生成的代码操作不会在分析结果中显示您的注释。如果块是查找表,请启用存根查找表
而不是使用注释。
要注释一个块,请选择块和块波尔盖斯选项卡,选择添加注释。输入以下内容:
逗号分隔的结果首字母缩略词列表。只能为结果的类型合理,选择只有1个检查。
看:
代码先词运行时间检查的短名称(PolySpace代码箴言)
要分配给结果的状态,严重性和评论。
有时已知生成代码中的操作在代码先驱中导致橙色检查。假设已知一个可能溢出的操作。通过饱和度操作,生成的代码通过操作来保护溢出。PolySpace仍然将可能的溢出标记为橙色检查。要通过代码注释自动证明这些检查,请指定配置参数操作员注释(嵌入式编码器)。
当您在不同的位置或模型中重复使用带注释的块时,更改的上下文可以呈现注释不正确。避免不正确的注释:
PolySpace不允许在库内的块中的注释和非原子子系统中的块,因为这些块在许多不同的上下文中重复使用。您无法在库中注释一个块,并在块的所有实例上证明结果。
金宝appSimulink不会在复制到不同位置或模型的块中保留波度注释。