运行Polyspace分析生成的代码嵌入式编码器
如果你从模型生成代码万博1manbetx®通过使用嵌入式编码模型®或TargetLink®生成的代码,您可以分析与Polyspace bug或运行时错误®在仿真软件环境。万博1manbetx你不需要手动设置一个Polyspace项目。
这一主题为代码生成使用嵌入式编码器。TargetLink-generated分析代码,请参阅与TargetLink Polyspace分析运行生成的代码。
一个教程与一个特定的模型,看到从仿真软件模型运行Polyspace分析代码生成万博1manbetx。
您可能想要分析生成的代码外与其他手写代码模型。万博1manbetx在这个工作流,提取Polyspace选项和运行分析,例如,从Windows命令行。看到运行Polyspace分析生成的代码通过使用打包选项文件。对于旧版本,Polyspace支持导航回到模型生成的代码。万博1manbetx看到导航回模型。
先决条件
从仿真软件运行Polyspace之前,你必须联系Polysp万博1manbetxace和MATLAB®安装。看到用MATLAB和Simulink Polyspace集成万博1manbetx。
生成和分析代码
配置代码生成和生成代码
配置代码生成和从模式生成代码,做下列之一:
在应用程序选项卡上,选择嵌入式编码器。然后,在C代码选项卡上,选择快速启动。按照屏幕上的指令。
在C代码选项卡上,单击设置通过仿真软件配置参数和配置代码生成。万博1manbetx主要的参数设置:
类型(万博1manbetx模型):选择固定步。
解算器(万博1manbetx模型):选择汽车(自动解算器选择)或离散(没有连续状态)。
系统目标文件(万博1manbetx仿真软件编码器):输入
ert.tlc
或autosar.tlc
。如果你获得目标文件ert.tlc
,您还可以指定它们。Code-to-model(嵌入式编码):选择这个选项来启用的链接代码模型。
参数集的完整列表,请参阅推荐模型配置参数Polyspace分析。
另外,运行代码生成与客观的顾问Polyspace看看所需的参数已经设置。配置模型,通过使用代码生成目标代码生成的顾问(嵌入式编码)。
从模型生成代码,C代码选项卡上,选择生成代码。您可以按照进度诊断代码生成的查看器。
配置代码分析
在应用程序选项卡上,选择Polyspace代码验证器。在Polyspace标签:
分析代码
从模型分析生成的代码,点击任何地方在画布上。的分析代码字段显示了模型名称。选择运行分析。
当使用嵌入式编码器,Polyspace检查生成的代码当你点击运行分析。如果没有生成的代码或者模型改变了自从上次Polyspace分析,Polyspace首先启动代码生成过程,然后开始分析。
如果当前模型中引用另一个模型,你想验证生成的代码的上下文模型的引用,而不是代码生成模型,使用代码生成模型参考。在后一种情况下,Polyspace不会自动启动代码生成如果没有生成的代码。在分析代码生成模型参考在运行Polyspace之前生成代码分析。
您可以遵循的进展分析MATLAB命令窗口。
结果自动打开,除非显式禁用。默认情况下,结果保存在一个文件夹results_
在当前文件夹。每一个新的运行覆盖以前的结果。您可以更改默认的文件夹或将结果保存到一个仿真软件项目。万博1manbetx这些变化,在Polyspace选项卡上,选择设置。ModelName
如果你有关闭的结果,想打开后,在Polyspace选项卡上,选择分析结果。打开之前最后的运行结果,选择开放前的结果并导航到这个文件夹包含了前面的结果。
回顾分析结果
审查结果代码
结果出现在Polyspace用户界面上结果列表窗格。点击每个结果查看源代码源面板和细节结果细节窗格。参见:
从代码导航模型
链接代码注释显示生成后续行代码块。看到块模型中,单击链接块的名字。如果你遇到问题,明白了从代码模型解决导航。
或者,您可以右键单击一个变量名和选择去模型。这对所有变量选项不可用。只有一个子集的源代码变量可以直接追溯到一块模型。万博1manbetx的去模型这样一个变量选项是可用的。为更多的细节在生成的代码的变量可以追溯到模型块,明白了万博1manbetx在生成的代码万博1manbetx跟踪仿真软件模型元素(嵌入式编码)。
解决问题
调查的问题是否在你的代码模型中的设计缺陷相关。
设计缺陷模型中生成的代码会导致问题。例如:
你可能会用手写的代码生成的代码集成。Polyspace分析可以检测编码缺陷和编码规则违规的集成。如果你在仿真软件中包含任何手写的代码模型,可以分析包括手写的代码隔离。万博1manbetx看到的:
注释块来证明问题
你可能想证明一些Polyspace结果无需修改代码或模型。注释块模型从Pol万博1manbetxyspace用户界面或模型编辑器。看到通过标注模型块地址Polyspace结果万博1manbetx。