代码生成顾问检查
代码生成目标的可用检查
代码生成目标检查有助于设计和故障排除Simulink®您希望用于生成代码的模型和子系统。有关代码生成目标的详细信息,请参见使用代码生成顾问的应用程序目标.
代码生成顾问包括以下来自Simulink的检查:仿真软件编码器™,以及嵌入式编码器®对于每个代码生成目标。代码生成顾问特有的两个检查包含在列表下面。
检查 | 执行效率 (目标) |
罗效率 (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 |
检查不支持的块名称(嵌入式编码) | N/A | N/A | N/A | N/A | N/A | N/A | 包括如果嵌入式编码器可用 | N/A |
检查分配块的使用情况(嵌入式编码) | N/A | N/A | N/A | N/A | N/A | N/A | 包括如果嵌入式编码器可用 | N/A |
检查有符号整数上的位操作(嵌入式编码) | N/A | N/A | N/A | N/A | N/A | N/A | 包括如果嵌入式编码器可用 | N/A |
检查递归函数调用(嵌入式编码) | N/A | N/A | N/A | N/A | N/A | N/A | 包括如果嵌入式编码器可用 | N/A |
检查浮点值上的相等和不相等操作(嵌入式编码) | N/A | N/A | N/A | N/A | N/A | N/A | 包括如果嵌入式编码器可用 | N/A |
检查没有默认大小写的开关大小写表达式(嵌入式编码) | 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建模指南.
运行文件夹中的检查。
有关使用Model Advisor的更多信息,请参见使用模型顾问检查你的模型.
另请参阅
使用代码生成顾问为代码生成目标配置模型(嵌入式编码)
Simulink检查(仿真软件检查)
识别指定系统中的可疑块
识别代码生成不支持或不推荐部署的块。
描述
代码生成器仅为其支持的块创建代码。有些块不建议用于生产代码部署。
结果和建议措施
条件 | 建议的行动 |
---|---|
代码生成器不支持块。 | 从模型中移除指定的块或将该块替换为推荐的块。 |
不建议将块用于生产代码部署。 | 从模型中移除指定的块或将该块替换为推荐的块。 |
检查获得值为1的块。 | 取代获得块与信号转换块。 |
能力和限制
您可以:
在您的库模型上运行此检查。
排除块和图表从此检查,如果您有模型检查™许可证。
另请参阅
模型顾问排除概述(仿真软件检查)
根据代码生成目标检查模型配置设置
根据代码生成目标检查模型的配置参数设置。
描述
“配置参数”对话框中的每个参数可能根据您的目标具有不同的代码生成建议设置。这种检查可以帮助您确定每个参数的推荐设置,以便您可以根据目标实现优化的代码。
结果和建议措施
条件 | 建议的行动 |
---|---|
参数被设置为与指定目标的推荐值不同的值。 | 设置为推荐值。 请注意 对一个参数值的更改会影响其他参数。通过检查可能需要多次迭代。 |
行动的结果
点击修改参数下行动在检查窗口中将参数值更改为推荐值。
另请参阅
型号配置参数推荐设置摘要(嵌入式编码)
使用代码生成顾问为代码生成目标配置模型(嵌入式编码)