针对 MISRA C 编码标准的模型顾问检查
R2026b要检查您的模型或子系统可以生成符合 MISRA C:2012 和 MISRA C:2023 的代码的可能性,请打开模型顾问,并运行按任务 > MISRA C:2023 建模标准中的检查。
注意
符合 MISRA C:2012 的高完整性系统建模规范及其相关联的检查也符合 MISRA C:2023。从 R2026a 开始,模型顾问将包含仅引用 MISRA C:2023 的文件夹和检查,这些文件夹和检查也保持符合 MISRA C:2012。
执行以下检查需要使用 Embedded Coder® 和 Simulink® Check™。
| 模型顾问检查 | 检查 ID |
|---|---|
| Check configuration parameters for MISRA C:2023 | mathworks.misra.CodeGenSettings |
| Check for blocks not recommended for C/C++ production code deployment | mathworks.codegen.PCGSupport |
| 检查 MISRA C:2023 合规性要求不推荐使用的模块 | mathworks.misra.BlkSupport |
| 检查不支持的模块名称 | mathworks.misra.BlockNames |
| 检查 Assignment 模块的使用 | mathworks.misra.AssignmentBlocks |
| Check for switch case expressions without a default case | mathworks.misra.SwitchDefault |
| Check for missing error ports for AUTOSAR receiver interfaces | mathworks.misra.AutosarReceiverInterface |
| 检查有符号整数的按位运算 | mathworks.misra.CompliantCGIRConstructions |
| 检查递归函数调用 | mathworks.misra.RecursionCompliance |
| 检查浮点值的相等和不相等运算 | mathworks.misra.CompareFloatEquality |
| 检查模型函数中是否缺失常量限定符 | mathworks.misra.ModelFunctionInterface |
| 检查整数字长 | mathworks.misra.IntegerWordLengths |
mathworks.misra.BusElementNames | |
| 检查没有默认选择项的变体模块 | mathworks.misra.DefaultChoiceVariantChecks |
| Check MISRA C2012 compliance on Generated Code | mathworks.misra.checkPolyspaceMISRA2012Compliance |
| Check MISRA C2023 compliance on Generated Code | mathworks.misra.checkPolyspaceMISRA2023Compliance |
要访问 MISRA C:2012 和 MISRA C:2023 标准支持的高完整性检查,请转到按任务 > MISRA C:2023 建模标准 > 高完整性系统文件夹。
注意
高完整性建模规范旨在确保符合 MISRA C:2012 和 MISRA C:2023 建模的选定方面。
此外,高完整性系统还包括含有基于其功能的高完整性检查的子文件夹,列举如下:
按任务 > MISRA C:2023 建模标准 > 高完整性系统 > 配置
按任务 > MISRA C:2023 建模标准 > 高完整性系统 > MATLAB
| 模型顾问检查 | 检查 ID | 高完整性系统建模规范 |
|---|---|---|
| Check switch statements in MATLAB Function blocks | mathworks.hism.himl_0007 | himl_0007: MATLAB code switch / case / otherwise patterns |
按任务 > MISRA C:2023 建模标准 > 高完整性系统 > 命名
| 模型顾问检查 | 检查 ID | 高完整性系统建模规范 |
|---|---|---|
| Check model object names | mathworks.hism.hisl_0032 | hisl_0032: Model element names |
按任务 > MISRA C:2023 建模标准 > 高完整性系统 > Simulink
按任务 > MISRA C:2023 建模标准 > 高完整性系统 > Stateflow
| 模型顾问检查 | 检查 ID | 高完整性系统建模规范 |
|---|---|---|
| 检查 Stateflow 图是否使用了强数据定型 | mathworks.hism.hisf_0015 | hisf_0015: Strong data typing (casting variables and parameters in expressions) |
| Check assignment operations in Stateflow Charts | mathworks.hism.hisf_0065 | hisf_0065: Type cast operations in Stateflow to improve code compliance |
| Check Stateflow charts for unary operators | mathworks.hism.hisf_0211 | hisf_0211: Protect against use of unary operators in Stateflow Charts to improve code compliance |