文档

金宝app编码器检查

金宝app编码器检查概述

使用金宝app®编码器™模型顾问检查以配置您的模型以进行代码生成。

另请参阅

使用基于一个的索引来标识块

检查身份证mathworks.codegen.cgsl_0101

使用基于一个的索引来标识块。

描述

在生成的代码中,基于零的索引比基于一的索引更有效。

使用基于零的索引可以提高生成代码的执行效率。

可以使用金宝app仿真软件编码器

结果和建议的行动

条件 建议的行动
模型或子系统包含为基于一个的索引配置的块。 为从零开始的索引配置块。更新支撑块。金宝app

能力和限制

您可以:

  • 在库模型上运行这个检查。

  • 从此检查中排除块和图表,如果您有金宝app模型检查™许可证。

另请参阅

检查解算器以生成代码

检查身份证mathworks.codegen.SolverCodeGen

检查模型求解器和采样时间配置设置。

描述

不正确的配置设置可能会阻止代码生成器生成代码。不充分指定采样时间可能导致不期望的结果。避免生成可能破坏数据或产生不可预测行为的代码。

可以使用金宝app仿真软件编码器

结果和建议的行动

条件 建议的行动
模型级代码生成的求解器类型设置不正确。

在“配置参数”对话框中,单击解算器窗格中,设置类型(金宝app模型)固定步

多任务诊断选项未设置为错误

在“配置参数”对话框中,单击诊断窗格中,设置

提示

您不必修改求解器设置来从子系统生成代码。构建过程会自动更改解算器类型固定步当您右键单击子系统并选择C / c++代码>构建这个子系统C / c++代码>生成功能从子系统上下文菜单中。

另请参阅

检查代码生成不支持的块金宝app

检查身份证mathworks.codegen.codeGen金宝appSupport

识别代码生成不支持的块。金宝app

描述

该检查部分识别不适合代码生成的模型构造,如在金宝appSimulink块支持金宝app金宝app仿真软件编码器和嵌入式编码器®。如果您正在使用带有支持说明的块进行代码生成,请查看信息并遵金宝app循给出的建议。

可以使用金宝app仿真软件编码器

结果和建议的行动

条件 建议的行动
模型或子系统包含不应该用于代码生成的块。 考虑替换结果中列出的块。单击可疑项列表中的一个元素来定位条件。

能力和限制

您可以:

  • 在库模型上运行这个检查。

  • 分析库链接块的内容。

  • 分析被屏蔽子系统中的内容。

  • 从此检查中排除块和图表,如果您有金宝app仿真软件检查许可证。

另请参阅

检查和更新模型,使用工具链方法构建生成的代码

检查身份证mathworks.codegen.toolchainInfoUpgradeAdvisor.check

检查模型是否使用工具链设置来构建生成的代码。

描述

检查模型是否使用模板makefile方法或工具链方法来构建生成的代码。

可以使用金宝app仿真软件编码器

当您打开R2013b之前创建的模型时系统目标文件设置为ert.tlcert_shrlib.tlc,或grt.tlc软件自动尝试从使用模板makefile方法升级到使用工具链方法。

如果软件没有升级模型,则此检查确定原因,如果有,则建议您执行升级模型的操作。

要确定您的模型正在使用哪种方法,您还可以查看Configuration Parameters对话框中的Code Generation窗格。工具链方法使用以下参数来构建生成的代码:

模板makefile方法使用以下设置来构建生成的代码:

  • 编译器优化级别

  • 自定义编译器优化标志

  • 生成makefile

  • 模板makefile

结果和建议的行动

条件 建议的行动 评论
模型被配置为使用工具链方法。 没有行动。 模型自动升级。
模型没有配置为使用工具链方法。 模型不能自动升级以使用工具链方法。 系统目标文件不符合工具链。集系统目标文件到符合工具链的目标,例如ert.tlcert_shrlib.tlc,或grt.tlc
模型没有配置为使用工具链方法。(参数值不是默认值) 模型可以自动升级以使用工具链方法。点击更新模型 参数设置为默认值,除了编译器优化级别,即优化(更快的运行)。点击更新模型编译器优化级别到它的默认值,关闭优化(更快的构建),然后升级模型。升级后的模型构建配置设置为更快的构建。保存模型可以使这些更改永久保存。
模型没有配置为使用工具链方法。(参数值不是默认值) 模型不能自动升级以使用工具链方法。

以下一个或多个参数未设置为默认值:

  • 生成makefile(默认值:启用)

  • 模板makefile(默认:特定于目标的默认TMF)

  • 编译器优化级别(默认值:关闭优化(更快的构建))

  • 使命令(默认值:make_rtw没有参数)

看到使用工具链方法升级模型

行动的结果

点击更新模型升级模型以使用工具链方法来构建生成的代码。

另请参阅

检查和更新嵌入式目标模型以使用ert。TLC系统目标文件

检查身份证mathworks.codegen.codertarget.check

检查并更新嵌入式目标模型以使用ert。TLC系统目标文件。

描述

检查和更新的模型系统目标文件被设置为除?之外的任何文件ert.tlc其目标硬件是支持使用的Texas Instruments™C2000™处理器之一金宝appert.tlc和类似的设置。

可以使用金宝app仿真软件编码器

结果和建议的行动

条件 建议的行动
系统目标文件设为ert.tlc- Embedded Coder 不采取行动

系统目标文件被设置为除?之外的任何文件ert.tlc硬件板参数设置为德州仪器C2000处理器的嵌入式编码器支持包支持的处理器。金宝app

在升级顾问中运行相应的检查:

  1. 建模选项卡,单击金宝app模型的顾问

  2. 打开升级顾问窗格并选择检查检查和更新嵌入式目标模型以使用ert。TLC系统目标文件

  3. 右键单击检查并选择运行此检查

  4. 检查通过后,打开“配置参数”对话框,进入硬件实现窗格并确保正确硬件板被选中。

行动的结果

点击运行此检查自动设置以下参数代码生成面板中的模型配置参数:

  • 系统目标文件参数ert.tlc

  • 工具链参数以匹配上一个工具链。

  • 构建配置参数以匹配生成配置。

能力和限制

新的工作流使用工具链方法,它依赖于增强的makefile来构建生成的代码。它不提供与设置构建格式参数项目在前面的配置中。因此,新的工作流不能在CCS 3.3 IDE中自动生成IDE项目。

另请参阅

工具链配置

检查和更新使用的目标在不同版本的MATLAB中发生重大变化的模型

检查身份证mathworks.codegen.realtime2CoderTargetInfoUpgradeAdvisor.check

使用Simulink目标检查和更新在不同版本的MATLAB金宝app中发生重大变化的模型®

描述

保存已更新的模型,以便与当前安装的MATLAB一起使用。

可以使用金宝app仿真软件编码器

结果和建议的行动

条件 建议的行动
模型使用的目标自最初保存它的MATLAB发布以来发生了重大变化。 保存模型
模型未使用Simulink目标或使用最新版金宝app本的目标。 不采取行动
模型自动更新。 保存模型
外部模式配置无效。 配置参数>接口窗格中,更新外部模式参数设置以匹配主机-目标连接的特征。

模型损坏。

关闭并重新打开模型。如果问题仍然存在,请重置配置参数>硬件实现>硬件板

行动的结果

点击保存模型更新模型以配合当前安装的MATLAB并保存模型。

另请参阅

配置生产和测试硬件

检查对可调参数有约束的块

检查身份证mathworks.codegen.ConstraintsTunableParam

识别具有可调参数约束的块。

描述

查找表块在可调时具有严格的约束。如果违反了查找表块限制,生成的代码将生成不正确的答案。

可以使用金宝app仿真软件编码器

结果和建议的行动

条件 建议的行动
查找表块具有可调的参数。

在模拟期间调优参数或运行生成的代码时,必须:

  • 的设置保持单调性输入值向量参数。

  • 保留指定的零值的数量和位置输入值向量输出值向量的值指定多个零值时,可使用输入值向量参数。

查阅表(2d)块具有可调的参数。

在模拟期间调优参数或运行生成的代码时,必须:

  • 的设置保持单调性行索引输入值输入值的列索引参数。

  • 保留指定的零值的数量和位置行索引输入值输入值的列索引,输出值向量的值指定多个零值时,可使用行索引输入值输入值的列索引参数。

查找表(n-D)块具有可调的参数。 在模拟期间调优参数或运行生成的代码时,必须保持每个表维度的断点值的递增单调性断点n

能力和限制

如果你有金宝app仿真软件检查许可,您可以从此检查中排除块和图表。

另请参阅

检查模型参考配置是否不匹配

检查身份证mathworks.codegen.MdlrefConfigMismatch

识别与顶级模型配置参数设置不匹配的引用模型配置参数设置。

描述

代码生成器不能为顶级模型创建代码,这些模型包含具有不同的、不兼容的配置参数设置的引用模型。

可以使用金宝app仿真软件编码器

结果和建议的行动

条件 建议的行动
顶层模型和参考模型的模型配置参数设置不一致。 修改指定的型号配置设置。

另请参阅

检查采样时间和任务模式

检查身份证mathworks.codegen.SampleTimesTaskingMode

为您的系统设置采样时间和任务模式。

描述

不正确的任务模式可能导致低效的代码执行或不正确的生成代码。

可以使用金宝app仿真软件编码器

结果和建议的行动

条件 建议的行动
该模型表示一个多速率系统,但没有配置为多任务处理。 在“配置参数”对话框中,单击解算器窗格中,设置将每个离散的速率视为一个单独的任务(金宝app模型)按推荐参数配置。
该模型配置为多任务处理,但是在目标硬件上不需要多任务处理。 在“配置参数”对话框中,单击解算器的复选框将每个离散的速率视为一个单独的任务(金宝app模型)参数,或更改硬件实现窗格。

另请参阅

基于时间的调度和代码生成

检查用于模型引用的代码生成标识符格式

检查身份证mathworks.codegen.ModelRefRTWConfigCompliance

检查模型引用层次结构中的引用模型,其中代码生成更改了涉及标识符格式的配置参数设置。

描述

在参考模型中,如果配置参数>代码生成>符号参数中有不包含$ R令牌(它表示参考模型的名称),代码生成在$ R令牌转换为标识符格式。

  • 全局变量

  • 全球类型

  • 子系统的方法

  • 恒宏

可以使用金宝app仿真软件编码器

结果和建议的行动

条件 建议的行动

对生成的代码进行操作的脚本使用代码生成更改的模型名称。

更新脚本以使用生成的名称(其中包含附加的$ R令牌)。

代码生成目标的可用检查

代码生成目标检查有助于设计和排除您想要用于生成代码的Simulink模型和子系统的故障。金宝app

代码生成顾问包括以下来自Simulink的检查:金宝app金宝app仿真软件编码器,以及用于每个代码生成目标的嵌入式编码器。代码生成顾问的两个唯一检查包含在列表下面。

检查 执行效率
(目标)
罗效率
(ERT-based目标)
内存效率
(ERT-based目标)
安全预防措施
(ERT-based目标)
可追溯性
(ERT-based目标)
调试
(目标)
MISRA C:2012指南
(ERT-based目标)
Polyspace®
(ERT-based目标)
根据代码生成目标检查模型配置设置 包括 包括 包括 包括 包括 包括 包括(见请注意下图) 包括
检查最佳总线虚拟性(金宝app模型) 包括 包括 包括 N/A N/A N/A N/A N/A
在指定的系统中识别有问题的块 包括 包括 包括 N/A N/A N/A N/A N/A
检查硬件实现(嵌入式编码) 包括如果嵌入式编码器是可用的 包括如果嵌入式编码器是可用的 N/A N/A N/A N/A N/A N/A
识别有问题的软件环境规范(嵌入式编码) 当可追溯性不是一个更高的优先级和嵌入式编码器是可用的 当可追溯性不是一个更高的优先级和嵌入式编码器是可用的 N/A N/A N/A N/A N/A N/A
识别有问题的代码插装(数据I/O)(嵌入式编码) 当可追溯性或调试不是更高优先级并且嵌入式编码器可用时包含 当可追溯性或调试不是更高优先级并且嵌入式编码器可用时包含 当可追溯性或调试不是更高优先级并且嵌入式编码器可用时包含 N/A N/A N/A N/A N/A
识别有问题的子系统设置(嵌入式编码) N/A 包括如果嵌入式编码器是可用的 包括如果嵌入式编码器是可用的 N/A N/A N/A N/A N/A
识别生成昂贵舍入代码的块(嵌入式编码) 包括如果嵌入式编码器是可用的 包括如果嵌入式编码器是可用的 N/A N/A N/A N/A N/A N/A
识别有问题的定点操作(嵌入式编码) 包括如果嵌入式编码器或定点设计器™是可用的 包括如果嵌入式编码器或定点设计器可用 N/A N/A N/A N/A N/A N/A
使用基于一个的索引来标识块 包括 包括 N/A N/A N/A N/A N/A N/A
识别生成昂贵的范围外检查代码的查找表块(嵌入式编码) 包括如果嵌入式编码器是可用的 包括如果嵌入式编码器是可用的 N/A N/A N/A N/A N/A N/A
检查逻辑块的输出类型(嵌入式编码) 包括如果嵌入式编码器是可用的 N/A N/A N/A N/A N/A N/A N/A

识别未连接的线路、输入端口和输出端口(金宝app模型)

N/A N/A N/A 包括 N/A N/A N/A N/A
检查数据存储内存块是否存在多任务处理、强类型和阴影问题(金宝app模型) N/A N/A N/A 包括 N/A N/A N/A N/A
识别块输出信号与连续采样时间和非浮点数据类型(金宝app模型) N/A N/A N/A 包括 N/A N/A N/A N/A
检查对可调参数有约束的块 N/A N/A N/A 包括 N/A N/A N/A N/A
检查数据存储块是否开启读写诊断(金宝app模型) N/A N/A N/A 包括 N/A N/A N/A N/A
检查结构参数与总线信号的使用情况(金宝app模型) N/A N/A N/A 包括 N/A N/A N/A N/A
检查数据存储块采样时间以查找建模错误(金宝app模型) N/A N/A N/A 包括 N/A N/A N/A N/A
检查涉及数据存储访问的潜在排序问题(金宝app模型) N/A N/A N/A 包括 N/A N/A N/A N/A
检查不推荐用于C/ c++生产代码部署的块(嵌入式编码) N/A N/A N/A N/A N/A N/A 包括如果嵌入式编码器是可用的 N/A
检查MISRA C:2012不推荐的块(嵌入式编码) N/A N/A N/A N/A N/A N/A 包括如果嵌入式编码器是可用的 N/A
检查不支持的块名称金宝app(嵌入式编码) N/A N/A N/A N/A N/A N/A 包括如果嵌入式编码器是可用的 N/A
检查分配块的使用情况(嵌入式编码) N/A N/A N/A N/A N/A N/A 包括如果嵌入式编码器是可用的 N/A
检查对有符号整数的位操作(嵌入式编码) N/A N/A N/A N/A N/A N/A 包括如果嵌入式编码器是可用的 N/A
检查递归函数调用(嵌入式编码) N/A N/A N/A N/A N/A N/A 包括如果嵌入式编码器是可用的 N/A
检查浮点值上的相等和不相等操作(嵌入式编码) N/A N/A N/A N/A N/A N/A 包括如果嵌入式编码器是可用的 N/A
检查没有默认大小写的开关大小写表达式(嵌入式编码) N/A N/A N/A N/A N/A N/A 包括如果嵌入式编码器是可用的 N/A
检查配置参数以生成效率低下的饱和代码(嵌入式编码) 包括如果嵌入式编码器是可用的 包括如果嵌入式编码器是可用的 N/A 包括如果嵌入式编码器是可用的 N/A N/A N/A N/A

请注意

当代码生成顾问根据MISRA C:2012指导方针目标检查您的模型时,该工具不会考虑模型顾问中MISRA C:2012指导方针检查所检查的所有配置参数设置。对于配置参数设置的完整检查:

  1. 打开Model Advisor。

  2. 导航到按照任务>MISRA建模指南[C]:2012

  3. 运行文件夹中的检查。

有关使用Model Advisor的更多信息,请参见使用模型顾问检查你的模型(金宝app模型)。

另请参阅

在指定的系统中识别有问题的块

识别代码生成不支持或不建议部署的块。金宝app

描述

代码生成器只为它支持的块创建代码。金宝app有些块不建议用于生产代码部署。

结果和建议的行动

条件 建议的行动
代码生成器不支持块。金宝app 从模型中移除指定的块,或者用推荐的块替换该块。
不建议将块用于生产代码部署。 从模型中移除指定的块,或者用推荐的块替换该块。
检查获得值为1的块。 取代获得块与信号转换块。

能力和限制

您可以:

  • 在库模型上运行这个检查。

  • 从此检查中排除块和图表,如果您有金宝app仿真软件检查许可证。

另请参阅

支持代码生成的块和产品下载188bet金宝搏金宝app

模型顾问排除概述(金宝app仿真软件检查)

根据代码生成目标检查模型配置设置

根据代码生成目标检查模型的配置参数设置。

描述

根据您的目标,“配置参数”对话框中的每个参数可能具有不同的代码生成建议设置。这个检查可以帮助您确定每个参数的推荐设置,以便您可以根据您的目标实现优化的代码。

结果和建议的行动

条件 建议的行动
参数设置为与指定目标的推荐值不同的值。

按推荐值设置参数。

请注意

对一个参数值的更改可能会影响其他参数。通过检查可能需要多次迭代。

行动的结果

点击修改参数将参数值修改为建议值。

另请参阅