Matlab代码检查

工具一:Code Generation Advisor

打开方式:simulink->Code->C/C++ Code->Code Generation Advisor

使用方法:

1.点击Code Generation Advisor,弹出System Selector对话框,选择需要进行语法检查的模型,可以是全部模型,也可以是子模型。选择后点击OK

2.进入Code Generation Advisor界面,在Code Generation Objective中可以选择代码的生成形式

(1)Execution efficiency:代码生成配置,以代码执行效率优先

(2)ROM efficiency:代码生成配置,以少占用ROM空间优先(ERT配置)

(3)RAM efficiency:代码生成配置,以少占用RAM空间优先(ERT配置)

(4)Traceability:代码生成配置,提供模型元素和代码之间的映射(ERT配置)

(5)Safety precaution:代码生成配置,提高生成代码的清晰度、确定性、鲁棒性、可验证性(ERT配置)

(6)Debugging:代码生成配置,用以调试代码生成构建过程

(7)MISRA C:2012 guidelines:代码生成配置,用以提高代码对MISRA C:2012准则的遵守

(8)Polyspace:代码生成配置,为后续继续使用Polyspace进行代码分析

当完成选择后,左侧面板会出现相应的Objective

3.点击Run Selected Checks,查看检查结果,修复警告与故障。

Warning类型:

1.参数数值设置与Objective配置冲突

2.模型生成代码的设置与Objective选项冲突


工具二:Polyspace

打开方式:应用程序->代码验证->Polyspace Bug Finder

使用方法:

1.File->New Project->Project name->save location

2.进入Polyspace界面

(1)导入.c和.h文件:

选中Project Source Files,点击Browse,选择存放c文件的文件夹,点击open,该路径会出现在Select Source Folder中。之后现需要勾选Add recursively并点击下方的Add Source Folders,之后c代码会被添加到左侧树状图中。

同理,在Project Include中添加头文件,添加方式如上。

(2)添加完成后,Polyspace左侧的Project Browser中会显示项目名、Project Source File文件夹,以及相关的报告。

(3)RAM efficiency:代码生成配置,以少占用RAM空间优先(ERT配置)

(4)Traceability:代码生成配置,提供模型元素和代码之间的映射(ERT配置)

(5)Safety precaution:代码生成配置,提高生成代码的清晰度、确定性、鲁棒性、可验证性(ERT配置)

(6)Debugging:代码生成配置,用以调试代码生成构建过程

(7)MISRA C:2012 guidelines:代码生成配置,用以提高代码对MISRA C:2012准则的遵守

(8)Polyspace:代码生成配置,为后续继续使用Polyspace进行代码分析

当完成选择后,左侧面板会出现相应的Objective

3.点击Run Selected Checks,查看检查结果,修复警告与故障。

Warning类型:

1.参数数值设置与Objective配置冲突

2.模型生成代码的设置与Objective选项冲突