主要内容

金宝app编码器检查

金宝app编码器检查概述

使用金宝app®编码器™Model Advisor检查以配置您的模型以生成代码。

另请参阅

检查子系统代码的重用

检查身份证mathworks.codegen.SubsysCodeReuse

识别CodeReuseSubsystem没有重用代码的块。

结果及建议的行动

条件 建议的行动
一个或多个CodeReuseSubsystem模型中的块不重用代码。 修改CodeReuseSubsystem块,以便它们重用代码。

能力与限制

您可以:

  • 在库模型上运行此检查。

  • 在面具下看,

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

另请参阅

使用基于一项的索引识别块

检查身份证mathworks.codegen.cgsl_0101

使用基于一项的索引识别块。

描述

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

使用从零开始的索引可以提高所生成代码的执行效率。

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

结果及建议的行动

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

能力与限制

您可以:

  • 在库模型上运行此检查。

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

另请参阅

检查代码生成的求解器

检查身份证mathworks.codegen.SolverCodeGen

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

描述

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

可以使用金宝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软件会自动尝试将模型从使用模板制作文件的方法升级到使用工具链的方法。

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

要确定您的模型使用的方法,您还可以查看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其目标硬件是支持的德州仪器™C2000™处理器之一金宝appert.tlc还有类似的设置。

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

结果及建议的行动

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

系统目标文件设置为其他文件ert.tlc而且硬件板参数设置为德州仪器C2000处理器的嵌入式编码器支持包所支持的处理器。金宝app

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

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

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

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

  4. 检查通过后,打开“配置参数”对话框,执行硬件实现勾选并确认正确硬件板被选中。

行动的结果

点击执行此检查自动设置以下参数代码生成面板中的“模型配置参数”对话框:

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

  • 工具链参数来匹配前面的工具链。

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

能力与限制

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

另请参阅

工具链配置

检查和更新使用目标的模型,这些目标在不同的MATLAB版本中发生了显著的变化

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

检查和更新在不同版本的MATLAB中发生了显著变化的Sim金宝appulink目标模型®

描述

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

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

结果及建议的行动

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

模型已损坏。

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

行动的结果

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

另请参阅

配置生产和测试硬件

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

检查身份证mathworks.codegen.ConstraintsTunableParam

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

描述

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

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

结果及建议的行动

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

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

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

  • 保留指定的零值的数量和位置输入值的向量而且输出值向量参数的多个零值输入值的向量参数。

查找表(2-D)块有可调的参数。

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

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

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

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

能力与限制

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

另请参阅

检查模型参考配置不匹配

检查身份证mathworks.codegen.MdlrefConfigMismatch

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

描述

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

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

结果及建议的行动

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

另请参阅

检查采样次数和任务模式

检查身份证mathworks.codegen.SampleTimesTaskingMode

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

描述

不正确的任务模式会导致代码执行效率低下或生成错误的代码。

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

结果及建议的行动

条件 建议的行动
该模型表示多速率系统,但没有配置为多任务处理。 选择型号配置参数将每个离散的速率视为一个单独的任务.当您选择该参数时,多任务执行将应用于多速率模型。有关更多信息,请参见基于时间的调度和代码生成
该模型配置为多任务处理,但在目标硬件上不需要多任务处理。例如,操作系统不支持多处理,或者目标硬件是裸机(没有运行操作系统),应用程序不提供多任金宝app务执行方案。 明确模型配置参数将每个离散的速率视为一个单独的任务.当您清除该参数时,应用单任务执行。或者,更改硬件实现窗格。有关更多信息,请参见基于时间的调度和代码生成

另请参阅

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

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

检查身份证mathworks.codegen.ModelRefRTWConfigCompliance

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

描述

在参考模型中,如果有以下情况配置参数>代码生成>标识符参数的设置不包含$ R标记(表示引用模型的名称),代码生成在$ R标记为标识符格式。

  • 全局变量

  • 全球类型

  • 子系统的方法

  • 恒宏

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

结果及建议的行动

条件 建议的行动

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

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

检查数据存储读块和数据存储写块的相对执行顺序变化

检查身份证com.mathworks.sorting.datastoresimrtwcmp

的执行顺序数据存储读而且数据存储写在编译模型以生成代码时,块不会更改。

描述

执行顺序定义的顺序数据存储读而且数据存储写块访问数据存储内存块。Model Advisor检查将运行检查之前的执行顺序(正常模拟模式)与编译检查之后的执行顺序(代码生成模式)进行比较。当执行顺序相同时,检查通过。当有差异时,支票发出一个警告并找出结果的差异。

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

结果及建议的行动

条件 建议的行动

的执行顺序数据存储读而且数据存储写块是不同的模拟模式和代码生成模式。

在Model Advisor结果中,下面行动,点击修改块优先级.模型顾问修改块,因此模拟模式中的执行顺序与代码生成模式中的执行顺序相同。

另请参阅

代码生成目标的可用检查

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

代码生成顾问包括以下来自Simulink的检查:金宝app金宝app仿真软件编码器,以及为每个代码生成目标提供嵌入式编码器。列表下面包含了代码生成Advisor特有的两个检查。

检查 执行效率
(目标)
罗效率
(ERT-based目标)
内存效率
(ERT-based目标)
安全预防措施
(ERT-based目标)
可追溯性
(ERT-based目标)
调试
(目标)
MISRA C:2012指南
(ERT-based目标)
Polyspace®
(ERT-based目标)
根据代码生成目标检查模型配置设置 包括 包括 包括 包括 包括 包括 包括(见请注意下图) 包括
检查最佳总线虚拟性 包括 包括 包括 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

识别未连接的线路、输入端口和输出端口

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 N/A N/A
检查涉及数据存储访问的潜在订购问题 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. 打开模型顾问。

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

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

有关使用Model Advisor的更多信息,请参见使用模型顾问检查您的模型

另请参阅

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

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

描述

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

结果及建议的行动

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

能力与限制

您可以:

  • 在库模型上运行此检查。

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

另请参阅

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

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

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

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

描述

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

结果及建议的行动

条件 建议的行动
参数被设置为指定目标的建议值以外的值。

请按照建议设置参数。

请注意

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

行动的结果

点击修改参数将参数值修改为推荐值。

另请参阅