在嵌入式软件开发中,确保代码质量和可靠性至关重要,尤其是在汽车电子、工业控制等安全关键领域。Parasoft C/C++test 作为一款专业的自动化代码测试工具,帮助开发团队高效执行静态分析、单元测试及运行时错误检测,从而提升代码合规性与健壮性。下面将以Renesas环境为例,详细介绍如何通过CS+集成开发环境生成BDF文件,并利用C++test进行项目配置与自定义编译器设置,实现针对特定工具链的深度集成与静态分析验证。
>>点击获取Parasoft C/C++test试用
构建和生成BDF文件
界面构建:CS+本身IDE环境提供构建,可以通过菜单上的Build找到“Rebuild Project”执行项目构建。如下图所示
上述图中的“Build Option List”可以在控制台显示具体的文件构建信息,如使用到的编译器命令和开关选项。
如果想要了解该项目的具体编译器选项,链接器选项等配置信息,可以点击项目结构下的“Build Tool”,如下图示:

命令行方式构建:根据Renesas官方手册材料,CS+的命令行方式构建需要用到安装目录下的"CubeSuite+.exe"。
首先设置相关环境变量,如下所示通过set命令设置临时path,在其中包含编译器路径,cpptesttrace命令路径和CubSuite+.exe路径。
set path=%path%;C:\Program Files (x86)\Renesas Electronics\CS+\CC;C:\PSMS\InstallPackages\ParasoftProducts\parasoft_cpptest_professional-2023.1.1-win32.x86_64\cpptest\bin;C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RH\V2.02.00\Bin
执行命令重新构建并生成bdf文件到指定位置。
cpptesttrace --cpptesttraceTraceCommand="ccrh.exe|rlink.exe" --cpptesttraceOutputFile="C:\PSMS\PrjBDF\RH850_tutorial.bdf" --cpptesttraceProjectName=RH850_tutorial CubeSuite+.exe /bcb DefaultBuild "C:\PSMS\CSRH850Prj\RH850_F1L_Tutorial_Analysis\RH850_F1L_Tutorial_Analysis.mtpj"
注意:如上所示的项目名称,bdf文件名称均为示例。
导入BDF文件创建项目
在刚才的同一个CMD窗口下,输入如下参考命令启动C++test(这主要是为了保障C++test能正确查找到编译器命令)
"C:\PSMS\InstallPackages\ParasoftProducts\parasoft_cpptest_professional-2023.1.1-win32.x86_64\cpptest\cpptest.exe" -data "C:\PSMS\cpptest_workspace"
注意:上述的cpptest.exe路径和工作空间位置为参考路径,请根据实际情况调整。
通过BDF文件方式导入创建项目


注意:可以将编译器暂时设置为如上图所示的编译器种类,后续需要考虑定制编译器。
问题:如果只是简单设置为上述的内建编译器,会报告如下几个常见错误:
- “-include”参数不识别
- 无法正常完成静态分析 -- 根本没有生成预处理文件
自定义编译器
由于默认情况下,针对RH850没有内建的可支持编译器,需要考虑自定义编译器
在编译器模版中选择renrx_2_5作为模板,并注意将自定义编译器的配置路径拷贝粘贴到编辑器中备用。

- 修改自定义编译器下的配置文件c.psrc
修改预处理命令为正确的命令,搜索找到edgtk.preprocessorExecutable,将后面的ccrx命令修改为正确的ccrh。如下所示:
edgtk.preprocessorExecutable ccrh
修改之前报错的选项-include为正确的头文件包含选项,如下所示:将原来的1417行的include参数注释掉,修改为正确的头文件包含选项“I”。
#edgtk.optionConfig name=include prefix=- separators="=" params=1 tags=preprocessor edgtk.optionConfig name=I prefix=- params=1 tags=preprocessor
修改预处理命令行参数,注释掉原来的预处理命令行并修改为如下所示命令:
#edgtk.preprocessorCommand {exe} {opts} -output=prep {in} edgtk.preprocessorCommand {exe} {opts} -Xpreprocess=comment,line -P -Xcommon=rh850 {in}
注:预处理命令的正确使用关键在于查看CS+安装目录下的编译器手册,如下位置所示:
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RH\V2.02.00\Help\Compiler-CCRH.chm
执行静态分析配置“Recommended Rules”
修改完成后回到C++test中,选择项目执行静态分析"Recommended Rules"验证结果。

通过以上步骤,我们成功实现了在Parasoft C/C++test中导入BDF文件、自定义编译器配置并完成静态分析规则验证。这一流程不仅显著提升了针对RH850项目的代码质量检测效率,还展示了C++test在复杂嵌入式环境中的高度适应性。除了静态分析外,C++test还支持单元测试生成、覆盖率分析、运行时错误检测等高级功能,能够帮助团队全面满足功能安全标准,实现从开发到验证的全生命周期质量保障。
关于慧都
慧都科技(EVGET)成⽴于2003年,是⼀家⾏业数字化解决⽅案公司,⻓期专注于软件、油⽓与制造⾏业。公司基于深⼊的业务理解与管理洞察,以系统化的业务建模驱动技术落地,帮助企业实现智能化运营与⻓期竞争优势。
慧都科技作为Parasoft公司在中国区的官方授权合作伙伴,为国内企业提供Parasoft C/C++test产品的正版授权、定制化部署与全生命周期技术支持与服务。我们致力于助力客户精准贯彻功能安全标准、全面提升软件开发效率、有效管控项目风险,最终构建符合国际标准的高质量软件体系。
023-68661681
返回
发表评论