主要内容

运行Polyspace分析生成的代码嵌入式编码器

如果你从模型生成代码金宝app®通过使用嵌入式编码模型®或TargetLink®生成的代码,您可以分析与Polyspace bug或运行时错误®在仿真软件环境。金宝app你不需要手动设置一个Polyspace项目。

这一主题为代码生成使用嵌入式编码器。TargetLink-generated分析代码,请参阅与TargetLink Polyspace分析运行生成的代码

一个教程与一个特定的模型,看到从仿真软件模型运行Polyspace分析代码生成金宝app

您可能想要分析生成的代码外与其他手写代码模型。金宝app在这个工作流,提取Polyspace选项和运行分析,例如,从Windows命令行。看到运行Polyspace分析生成的代码通过使用打包选项文件。对于旧版本,Polyspace支持导航回到模型生成的代码。金宝app看到导航回模型

先决条件

从仿真软件运行Polyspace之前,你必须联系Polysp金宝appace和MATLAB®安装。看到用MATLAB和Simulink Polyspace集成金宝app

生成和分析代码

配置代码生成和生成代码

配置代码生成和从模式生成代码,做下列之一:

  • 应用程序选项卡上,选择嵌入式编码器。然后,在C代码选项卡上,选择快速启动。按照屏幕上的指令。

  • C代码选项卡上,单击设置通过仿真软件配置参数和配置代码生成。金宝app主要的参数设置:

    • 类型(金宝app模型):选择固定步

    • 解算器(金宝app模型):选择汽车(自动解算器选择)离散(没有连续状态)

    • 系统目标文件(金宝app仿真软件编码器):输入ert.tlcautosar.tlc。如果你获得目标文件ert.tlc,您还可以指定它们。

    • Code-to-model(嵌入式编码):选择这个选项来启用的链接代码模型。

    参数集的完整列表,请参阅推荐模型配置参数Polyspace分析

    另外,运行代码生成与客观的顾问Polyspace看看所需的参数已经设置。配置模型,通过使用代码生成目标代码生成的顾问(嵌入式编码)

    从模型生成代码,C代码选项卡上,选择生成代码。您可以按照进度诊断代码生成的查看器。

配置代码分析

应用程序选项卡上,选择Polyspace代码验证器。在Polyspace标签:

  1. 选择产品运行:错误发现者代码验证。代码验证分析检测运行时错误,而错误仪分析检测编码缺陷和编码规则违规。

  2. 选择设置。如果需要,改变这些选项的默认值。

    • 设置从:使检查MISRA™编码规则除了在项目配置中指定默认的检查。默认的错误仪检查寻找编码缺陷。默认的代码验证检查寻找运行时错误。

    • 输入,可调参数输出:可调参数,限制输入或输出更精确的代码验证分析。

    • 输出文件夹:指定一个专门的文件夹为结果。默认的分析将结果保存在一个文件夹中results_modelName在当前工作目录中。

    • 打开后自动验证结果

    选项的完整列表,请参阅在仿真软件代码验证分析金宝app

分析代码

从模型分析生成的代码,点击任何地方在画布上。的分析代码字段显示了模型名称。选择运行分析

当使用嵌入式编码器,Polyspace检查生成的代码当你点击运行分析。如果没有生成的代码或者模型改变了自从上次Polyspace分析,Polyspace首先启动代码生成过程,然后开始分析。

如果当前模型中引用另一个模型,你想验证生成的代码的上下文模型的引用,而不是代码生成模型,使用代码生成模型参考。在后一种情况下,Polyspace不会自动启动代码生成如果没有生成的代码。在分析代码生成模型参考在运行Polyspace之前生成代码分析。

您可以遵循的进展分析MATLAB命令窗口。

结果自动打开,除非显式禁用。默认情况下,结果保存在一个文件夹results_ModelName在当前文件夹。每一个新的运行覆盖以前的结果。您可以更改默认的文件夹或将结果保存到一个仿真软件项目。金宝app这些变化,在Polyspace选项卡上,选择设置

如果你有关闭的结果,想打开后,在Polyspace选项卡上,选择分析结果。打开之前最后的运行结果,选择开放前的结果并导航到这个文件夹包含了前面的结果。

回顾分析结果

审查结果代码

结果出现在Polyspace用户界面上结果列表窗格。点击每个结果查看源代码面板和细节结果细节窗格。参见:

从代码导航模型

链接代码注释显示生成后续行代码块。看到块模型中,单击链接块的名字。如果你遇到问题,明白了从代码模型解决导航

或者,您可以右键单击一个变量名和选择去模型。这对所有变量选项不可用。只有一个子集的源代码变量可以直接追溯到一块模型。金宝app的去模型这样一个变量选项是可用的。为更多的细节在生成的代码的变量可以追溯到模型块,明白了金宝app在生成的代码金宝app跟踪仿真软件模型元素(嵌入式编码)

解决问题

调查的问题是否在你的代码模型中的设计缺陷相关。

设计缺陷模型中生成的代码会导致问题。例如:

  • 生成的代码可能没有特定的运行时错误只有在一定范围内的一块参数。为了解决这个问题,你可以改变块的存储类参数或使用校准数据分析通过使用配置参数可调参数

  • 生成的代码可能没有特定的运行时错误只有在一定范围的输入。确定这个错误范围内,您可以指定一个最小值和最大值的轮廓尺寸块信号。Polyspace分析使用该限制范围。看到使用信号范围块(金宝app模型)

  • 某些转换Stateflow®图表可以遥不可及的。

你可能会用手写的代码生成的代码集成。Polyspace分析可以检测编码缺陷和编码规则违规的集成。如果你在仿真软件中包含任何手写的代码模型,可以分析包括手写的代码隔离。金宝app看到的:

注释块来证明问题

你可能想证明一些Polyspace结果无需修改代码或模型。注释块模型从Pol金宝appyspace用户界面或模型编辑器。看到通过标注模型块地址Polyspace结果金宝app

相关的话题