使用金宝app®编码器™Model Advisor检查以配置您的模型以生成代码。
运行模型检查(金宝app模型)
金宝app仿真软件检查(金宝app模型)
嵌入式程序员检查(嵌入式编码)
检查身份证:mathworks.codegen.cgsl_0101
使用基于一的索引标识块。
在生成的代码中,基于0的索引比基于1的索引更有效。
使用基于零的索引可以提高生成代码的执行效率。
可以使用金宝app仿真软件编码器.
条件 | 建议的行动 |
---|---|
模型或子系统包含配置为基于1的索引的块。 | 配置基于零的索引块。更新支持块。金宝app |
您可以:
在您的库模型上运行这个检查。
排除块和图表从这个检查,如果你有金宝app模型检查™许可证。
cgsl_0101:从零开始的索引(金宝app模型)。
什么是模型顾问排除?(金宝app仿真软件检查)
检查身份证:mathworks.codegen.SolverCodeGen
检查模型求解器和样本时间配置设置。
不正确的配置设置会导致代码生成器无法生成代码。不充分指定样本时间可能会导致不期望的结果。避免生成可能破坏数据或产生不可预知行为的代码。
可以使用金宝app仿真软件编码器.
条件 | 建议的行动 |
---|---|
模型级代码生成的求解器类型设置不正确。 | 在“配置参数”对话框中,单击解算器窗格中,设置类型(金宝app模型) |
多任务诊断选项未设置为错误 . |
在“配置参数”对话框中,单击诊断窗格中,设置
|
您不必修改求解器设置来从子系统生成代码。构建过程会自动更改解算器类型来固定步
当您选择代码生成>构建子系统或代码生成>生成功能从子系统上下文菜单。
检查身份证:mathworks.codegen.codeGen金宝appSupport
识别代码生成不支持的块。金宝app
该检查部分地标识不适合代码生成的模型构造,如金宝app仿真软件块支持金宝app表金宝app仿真软件编码器和嵌入式编码®.如果您正在使用带有支持说明的代码块来生成代码,请查看相关信金宝app息并遵循给定的建议。
可以使用金宝app仿真软件编码器.
条件 | 建议的行动 |
---|---|
模型或子系统包含不应该用于代码生成的块。 | 考虑替换结果中列出的块。单击问题项列表中的一个元素以定位条件。 |
您可以:
在您的库模型上运行这个检查。
排除块和图表从这个检查,如果你有金宝app仿真软件检查许可证。
什么是模型顾问排除?(金宝app仿真软件检查)
检查身份证:mathworks.codegen.toolchainInfoUpgradeAdvisor.check
检查模型是否使用Toolchain设置构建生成的代码。
检查模型是使用模板生成文件方法还是工具链方法来构建生成的代码。
可以使用金宝app仿真软件编码器.
当你打开一个在R2013b之前创建的模型系统目标文件设置为ert.tlc
,ert_shrlib.tlc
,或grt.tlc
软件自动尝试将模型从使用模板生成文件的方法升级为使用工具链的方法。
如果软件没有升级模型,此检查将确定原因,如果可用,建议您可以执行升级模型的操作。
要确定模型使用的是哪种方法,还可以查看Configuration Parameters对话框中的Code Generation窗格。工具链方法使用以下参数来构建生成的代码:
模板makefile方法使用以下设置来构建生成的代码:
编译器优化级别
自定义编译器优化标志
生成makefile
模板makefile
条件 | 建议的行动 | 评论 |
---|---|---|
模型被配置为使用工具链方法。 | 没有行动。 | 该型号自动升级。 |
模型没有配置为使用工具链方法。 | 模型不能自动升级到使用工具链方法。 | 系统目标文件与工具链不兼容。集系统目标文件与工具链兼容的目标,例如ert.tlc ,ert_shrlib.tlc ,或grt.tlc . |
模型没有配置为使用工具链方法。(参数值不是默认值。) | 模型可以自动升级到使用工具链方法。点击更新模型. | 参数被设置为它们的默认值,除了编译器优化级别,这是设置好的优化(更快的运行) .点击更新模型集编译器优化级别默认值,优化关闭(更快的构建) ,然后升级模型。升级后的型号具有构建配置设置为更快的构建 .保存模型可以使这些更改成为永久性的。 |
模型没有配置为使用工具链方法。(参数值不是默认值。) | 模型不能自动升级到使用工具链方法。 | 以下参数中有一个或多个未设置为默认值:
|
点击更新模型升级模型以使用工具链方法来构建生成的代码。
检查身份证:mathworks.codegen.codertarget.check
检查并更新嵌入的目标模型以使用ert。TLC系统目标文件。
检查并更新其型号系统目标文件被设置为idelink_ert.tlc
或idelink_grt.tlc
其目标硬件是支持使用的Texas Instruments™C2000™处理器之一金宝appert.tlc
和类似的设置。
可以使用金宝app仿真软件编码器.
条件 | 建议的行动 |
---|---|
系统目标文件被设置为ert.tlc- Embedded Coder . |
不采取行动 |
系统目标文件被设置为 |
更新模型 |
点击更新模型界面自动设置以下参数代码生成“模型配置参数”对话框中的:
系统目标文件参数ert.tlc
.
目标硬件参数以匹配先前的板或处理器。
工具链参数以匹配前面的工具链。
构建配置参数以匹配构建配置。
控件上的参数也将被设置编码器的目标窗格中匹配前面的参数值外围设备选项卡。
新的工作流使用工具链方法,它依赖于增强的makefile来构建生成的代码。它没有提供与设置构建格式参数项目
以上述配置为准。因此,新的工作流不能在CCS 3.3 IDE中自动生成IDE项目。
检查身份证:mathworks.codegen.realtime2CoderTargetInfoUpgradeAdvisor.check
用Simulink目标检查和更新在不同版本的MATLAB中金宝app有显著变化的模型®.
保存已更新的模型,以便与MATLAB的当前安装一起工作。
可以使用金宝app仿真软件编码器.
条件 | 建议的行动 |
---|---|
模型使用了一个目标,这个目标自MATLAB发布以来已经发生了很大的变化,它最初是在MATLAB中保存的。 | 保存模型 |
模型不使用Simulink目标或正在使用目金宝app标的最新版本。 | 不采取行动 |
模型自动更新。 | 保存模型 |
无效的外部模式配置。 | 在配置参数>接口窗格中,更新外部模式参数设置以匹配主机-目标连接的特征。 |
模型是损坏的。 |
关闭并重新打开模型。如果问题仍然存在,请重新设置配置参数>硬件实现>硬件板. |
点击保存模型更新模型以配合当前的MATLAB安装,并保存模型。
检查身份证:mathworks.codegen.ConstraintsTunableParam
识别带有可调参数约束的块。
查找表块在可调时有严格的约束。如果您违反了查找表块的限制,生成的代码将生成错误的答案。
可以使用金宝app仿真软件编码器.
条件 | 建议的行动 |
---|---|
查找表块具有可调参数。 | 在模拟过程中调优参数或运行生成的代码时,必须:
|
查找表(二)块具有可调参数。 | 在模拟过程中调优参数或运行生成的代码时,必须:
|
查找表(一天)块具有可调参数。 | 在模拟过程中调优参数或运行生成的代码时,必须保持每个表维中断点值的单调性断点n. |
如果你有金宝app仿真软件检查许可证,你可以排除块和图表从这个检查。
什么是模型顾问排除?(金宝app仿真软件检查)
检查身份证:mathworks.codegen.MdlrefConfigMismatch
识别与顶级模型配置参数设置不匹配的参考模型配置参数设置。
代码生成器不能为顶级模型创建代码,因为顶级模型包含具有不同且不兼容配置参数设置的引用模型。
可以使用金宝app仿真软件编码器.
条件 | 建议的行动 |
---|---|
顶部型号与参考型号的型号配置参数设置不一致。 | 修改指定的模型配置设置。 |
模型参考概述(金宝app模型)
设置模型引用的配置参数(金宝app模型)
检查身份证:mathworks.codegen.SampleTimesTaskingMode
为您的系统设置示例时间和任务模式。
不正确的任务分配模式会导致代码执行效率低下或生成的代码不正确。
可以使用金宝app仿真软件编码器.
条件 | 建议的行动 |
---|---|
该模型表示多速率系统,但没有配置为多任务处理。 | 在“配置参数”对话框中,单击解算器窗格中,设置将每一个离散的速率视为一个单独的任务(金宝app模型)参数推荐。 |
模型配置为多任务,但目标硬件上不需要多任务。 | 在“配置参数”对话框中,单击解算器窗格中,清除的复选框将每一个离散的速率视为一个单独的任务(金宝app模型)参数,或更改硬件实现(金宝app模型)窗格。 |
检查身份证:mathworks.codegen.ModelRefRTWConfigCompliance
检查模型引用层次结构中的引用模型,其中代码生成更改了涉及标识符格式的配置参数设置。
在参考模型中,如果如下配置参数>代码生成>符号参数的设置不包含$ R
令牌(它表示引用模型的名称),代码生成在$ R
标识符格式的令牌。
全局变量
全球类型
子系统的方法
恒宏
可以使用金宝app仿真软件编码器.
条件 | 建议的行动 |
---|---|
对生成代码进行操作的脚本使用代码生成更改的模型名称。 |
更新脚本以使用生成的名称(包括附加的 |
代码生成目标检查有助于设计并排除想要用于生成代码的Simulink模型和子系统的故障。金宝app
代码生成顾问包括来自Simulink的以下检查,金宝app金宝app仿真软件编码器,以及Embedded Coder用于每个代码生成目标。列表下面包括代码生成顾问特有的两个检查。
检查 | 执行效率 (目标) |
罗效率 (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 |
当代码生成顾问根据MISRA C:2012指导方针检查您的模型时,该工具不会考虑由MISRA C:2012指导方针检查的模型顾问中的所有配置参数设置。要对配置参数设置进行完整的检查,请运行由任务>为MISRA C:2012建模指南节点。
使用代码生成顾问为代码生成目标配置模型(嵌入式编码)
运行模型检查(金宝app模型)
金宝app仿真软件检查(金宝app模型)
金宝app模型检查检查(金宝app仿真软件检查)
识别代码生成不支持或不建议部署的块。金宝app
代码生成器只为它支持的代码块创建代码。金宝app有些块不推荐用于生产代码部署。
条件 | 建议的行动 |
---|---|
代码生成器不支持代码块。金宝app | 从模型中移除指定的块或用推荐的块替换块。 |
不建议将块用于生产代码部署。 | 从模型中移除指定的块或用推荐的块替换块。 |
检查获得块的值等于1。 | 取代获得块与信号转换块。 |
您可以:
在您的库模型上运行这个检查。
排除块和图表从这个检查,如果你有金宝app仿真软件检查许可证。
什么是模型顾问排除?(金宝app仿真软件检查)
根据代码生成目标检查模型的配置参数设置。
配置参数对话框中的每个参数可能根据您的目标具有不同的代码生成建议设置。这个检查帮助您确定每个参数的推荐设置,以便您可以根据您的目标实现优化的代码。
条件 | 建议的行动 |
---|---|
参数被设置为非指定目标的推荐值。 | 请将参数设置为推荐值。 请注意对一个参数值的更改可能会影响其他参数。通过检查可能需要多次迭代。 |
点击修改参数将参数值修改为推荐值。
型号配置参数的推荐设置摘要(嵌入式编码)
使用代码生成顾问为代码生成目标配置模型(嵌入式编码)