当前位置: 首页 > news >正文

Parasoft C/C++test如何在CCS3环境下进行F2812项目的单元测试

Parasoft C/C++test作为一款功能强大的自动化测试工具,为嵌入式开发提供了全面的测试解决方案。特别是在CCS开发环境中,C++test能够无缝集成,为F2812等DSP项目提供专业的单元测试支持。下面将介绍如何在CCS3环境下配置和使用C++test进行F2812项目的单元测试。

启动C++test

修改bat文件:

在CCS安装目录下,存在一个DosRun.bat文件,该文件配置了CCS3的编译和运行环境。如果需要使用C++test测试,则需要保证C++test能在该正确环境下启动并执行单元测试。

Bat文件内容如下:

call "c:\CCStudio_v3.3PLA\DosRun.bat"
set PATH=C:\Program Files\Parasoft\Test\9.4;C:\Program Files\Parasoft\C++test\9.4;%PATH%
cpptest
pause

双击CCS_C++test.bat 文件,启动C++test。

导入项目

点击菜单“文件”,选择“新建”,展开”C++test”,找到“导入Code Composer Studio 项目”,点击“下一步”。

点击“浏览”,找到CCS3示例项目导入进C++test,点击“下一步”,在“已导入项目的位置”,选择“使用原来.pjt文件的位置”,然后点击“完成”。

生成测试用例

在“导航器”窗口,选中所导入的项目,如此例子中的“mytest”,点击菜单“Parasoft”,选择“测试执行”->“内建”->“Unit Testing”->“7 Generate Unit Tests”。

这样会在项目树结构下,自动生成tests目录,展开后其中包含了自动生成的测试套件。

打桩

在“导航器”窗口,选中所导入的项目,如此例子中的“mytest”,点击菜单“Parasoft”,选择“测试执行”->“内建”->“Unit Testing”->“5 Generate Stubs”。

如果存在C++test找不到的未定义函数,会在项目树结构下,自动生成stubs目录。

运行单元测试

A. 配置“Run TI CCS3.x Tests”

在运行单元测试前,需手动配置修改测试配置。具体操作步骤如下:

1) 选择菜单“Parasoft”-> “测试配置”,打开测试配置对话框,如下所示,展开 “内建”下的 “Embedded Systems”-> “Texas Instruments”,右键测试配置“Run TI CCS3.x Tests”,选择“复制”。

2) 选择刚复制到“用户自定义”下的测试配置“Run TI CCS3.x Tests”,切换到选项卡“执行”,在其中修改target name为“F2812 Device Simulator” (注意:该名称应与Code Composer Studio Setup中模拟器的配置一致)。修改后,点击“应用”-> “关闭”。

原本项目Code Composer Studio Setup设置如下,C++test需与其保持一致:

B. 运行单元测试

打开“测试用例浏览器”,选择希望执行的测试用例,选择菜单“Parasoft”-> “测试执行”-> “用户自定义”-> “Run TI CCS3.x Tests” 。

运行完毕后,可点击菜单“Parasoft”-> “视图” –> “测试用例浏览器”,在该视图中查看各测试用例的执行结果;也可打开覆盖率视图查看具体函数的覆盖度量值;还可以双击源代码文件,打开具体文件,查看颜色区分显示的代码覆盖率结果。

常见问题及解决方案

1) 运行单元测试时,报告错误:

TIC libdetector: linker XML log file not found! 进程由于代码: 21 (错误)退出。

解决方案:

一般这种提示错误,需要检查项目设置的编译器是否正确,是否与原项目保持一致。

步骤:选中待测项目,点击菜单“项目”-> “属性”,将打开项目设置属性对话框。展开“Parasoft” -> “C++test” -> “构建设置”, 在右边配置框中,找到“编译器设置”,在 “种类”中需要注意该编译器是否与原本项目编译是匹配的?如果不匹配,请手动将该编译器设置为与原项目相同的编译器。比如:如果你是F28项目,此处的编译器应该是cl2000,但可能C++test自动检测到的是cl6x,这时请手动修改。点击 “种类”右边的下拉菜单,找到对应的编译器,如“TI TMS320C2000 C/C++ Compiler v5.2”。

2) 运行单元测试时,链接报错:

解决方案:

该错误是因为cmd文件设置的存储空间问题。我们知道CCS3中会提供如config.cmd 这种类型的文件进行存储空间的配置。那么使用C++test进行测试时,因为生成了测试用例和一些测试驱动以及链接了C++test提供的运行时库等必要文件,必然导致存储空间增加,那么这时候需要修改这个cmd文件,按照提示,增大相应部分存储空间大小,如下所示:

MEMORY
{PAGE 0 : BOOT(R)     : origin = 0x3f8000, length = 0x80PAGE 0 : PROG(R)     : origin = 0x3d8000, length = 0x20000 //增大后//PAGE 0 : PROG(R)  : origin = 0x3f8080, length = 0x1f80 //原本设置PAGE 0 : RESET(R)    : origin = 0x3fffc0, length = 0x2/*PAGE 1 : M0RAM(RW)   : origin = 0x000000, length = 0x400PAGE 1 : M1RAM(RW)   : origin = 0x000400, length = 0x400*/PAGE 1 : M0RAM(RW)   : origin = 0x000000, length = 0x400PAGE 1 : M1RAM(RW)   : origin = 0x000400, length = 0x400PAGE 1 : L0L1RAM(RW) : origin = 0x008000, length = 0x2000
}

修改后,重新执行测试。

Parasoft C/C++test为CCS3环境下的F2812项目提供了完整的单元测试解决方案,涵盖环境配置、测试用例生成、桩函数创建到测试执行与结果分析的全流程。除了单元测试,Parasoft C/C++test还支持静态代码分析、覆盖率分析等全方位质量保障手段,帮助团队提升代码质量,确保符合功能安全标准,降低项目风险,为嵌入式软件开发提供全面可靠的质量保障。

http://www.dtcms.com/a/564497.html

相关文章:

  • CCID工具,Jenkins、GitLab CICD、Arbess一文全方位对比分析
  • 公司网页设计的设计过程南昌网站排名优化报价
  • 如何查询网站空间寻甸马铃薯建设网站
  • Node.js 中的中间件机制与 Express 应用
  • 【保姆级教程】在AutoDL容器中部署EGO-Planner,实现无人机动态避障规划
  • 仿生机器鹰无人机技术解析
  • 2025无人机在电力交通中的应用实践
  • Qt实时绘制飞行轨迹/移动轨迹实时显示/带旋转角度/平滑移动/效果一级棒/地面站软件开发/无人机管理平台
  • 八股已死、场景当立(场景篇-负载均衡篇)
  • Go语言设计模式:备忘录模式详解
  • 基于YOLOv10的无人机智能巡检系统:电力线路悬挂物检测实战
  • 定制开发开源AI智能名片S2B2C商城小程序中的羊群效应应用研究
  • seo搜索引擎优化网站店铺位置怎么免费注册定位
  • 一个专门做恐怖片的网站做化工行业网站
  • 物联网 “神经” 之以太网:温湿度传感器的工业级 “高速干道”​
  • Biotin-PEG-OH,生物素-聚乙二醇-羟基,应用领域
  • 物联网“神经”之LoRa:温湿度传感器的广域“节能使者”
  • 舆情处置的自动化实践:基于Infoseek舆情系统的技术解析与落地指南
  • jcms内容管理系统百度seo怎么查排名
  • 亚马逊旺季广告攻略:解码产品周期,精准引爆销量
  • 【C#】HTTP中URL编码方式解析
  • 高速打印,安全稳定全兼顾 至像国产芯系列M3500DNWA应用测评
  • MacOS 安装Python 3.13【同时保留旧版本】
  • 八股训练营第 6 天 | HTTPS 和HTTP 有哪些区别?HTTPS的工作原理(HTTPS建立连接的过程)?TCP和UDP的区别?
  • 多阶段构建:打造最小化的 Spring Boot Docker 镜像
  • 在windows或者mac配置安装miniforge3
  • Arbess零基础学习 - 使用Arbess+GitPuk实现Java项目构建并Docker部署
  • 网站注册备案之后怎么做营销网络平台
  • laya3如何打包mac包
  • 【Linux】从内存布局到信号屏蔽:Linux 内核态与用户态交互核心知识点汇总