此章节:
先决条件
- Renesas RX 2.05
- Parasoft C/C++test 具有 Eclipse 的 C/C++test 插件
集成概述
C/C++test 插件通过标准的 Eclipse 插件安装机制与 e2 studio Eclipse IDE 集成;有关详细信息,请参阅 C/C++test 作为插件安装 。
执行单元测试和应用程序监视
确保您的项目支持“使用模拟器调试”。可以通过在您项目的顶端位置找到"{project_name} Debug.launch”文件来验证是否支持。
更新 Eclipse 工作空间
收集单元测试的覆盖率信息需要注册额外的调试器操作。
- 在 e2 studio 中, 转到 窗口> 首选项> C/C++>调试> GDB。
通过浏览位于以下位置中的 gdb 脚本来修改GDB 命令的值
<CPPTEST_INSTALL_DIR>/bin/engine/etc/templates/for_recipes/RenesasRxGDBinit.gdb
。- 如果已经指定了 GDB 命令,请将脚本的内容从上述位置附加到已注册的脚本中。
Gdb 脚本设置为在 Excep_BRK() 退出调试器。如果正在执行的程序以其他方式暂停,请相应地修改 gdb 脚本。
更新项目属性
使用 C/C++test 进行单元测试需要将优化设置为 0:
- 打开项目属性并转到 C/C++构建> 设置。
- 展开 C 和 C++ 编译器的子菜单,然后单击优化。
- 在优化级别字段中选择 0。
打开项目属性并转到Parasoft> C/C++test> 构建设置 并配置以下选项:
- 选项来源
从下拉菜单中选择管理的 Make C/C++ 项目中的使用选项。 - 编译器设置
从系列下拉菜单中选择Renesas RX C/C++ 编译器 2.5x,并在提示确认更改时单击确定 。 - 选项
将编译器选项设置为${cpptest:original_options} -define=PARASOFT_CPPTEST -define=FILE_COMMUNICATION_BUFFER_SIZE=128。
链接器选项 附加在 ${workspace_loc}\Debug\LinkerSubCommand.tmp 中可用的 start 参数。您的-start
参数可能类似于以下内容:-start=SU,SI,B_1,R_1,B_2,R_2,B,R/04,PResetPRG,C_1,C_2,C,C$*,D*,W*,L,PIntPRG,P/0FFD00000,EXCEPTVECT/0FFFFFF80,RESETVECT/0FFFFFFFC
设置插桩调试启动配置
- 复制默认的调试启动配置。新配置将放置在使用 e2 studio 创建的新项目的顶级目录中。
- 确保复制的配置会生成可与 e2 studio 随附的调试器一起运行的调试可执行文件。
- 重命名新的调试启动配置,以指示它可用于 C++test 的单元测试。
- 自定义配置。
在启动选项卡中:
- 禁用 暂停 复选框。
- 禁用 设置断点复选框。
- 启用 恢复 复选框。
在调试器> 调试工具设置 选项卡中:
- 在内存 部分中,在内存区域 行中的省略号按钮。
- 将新的仿真 ROM地址空间添加到至少 1MB 的映射中。
- 修改开始参数 以使用程序区域 {P} 中该新内存空间的开始地址。
起始参数修改示例
对于新的模拟器内存映射行:
仿真 ROM | 0x01000000 | 0x01ffffff | 16384 千字节 |
原始项目链接命令的起始参数:
-start=SU,SI,B_1,R_1,B_2,R_2,B,R/04,PResetPRG,C_1,C_2,C,C$*,D*,W*,L,PIntPRG,P/0FFFF0000,FIXEDVECT/0FFFFFF80
更新后的 Parasoft 链接选项:
-start=SU,SI,B_1,R_1,B_2,R_2,B,R/04,PResetPRG,C_1,C_2,C,C$*,D*,W*,L,PIntPRG,P/001000000,FIXEDVECT/0FFFFFF80
可能有必要为更多未初始化的 D 腾出空间
为未初始化的数据分配更多空间
在以下情况下,您可能需要为未初始化的数据腾出更多空间:
- 插桩的可执行文件的堆空间量超过了默认情况下提供的 RAM 量。
- 程序由于错误指出给定地址超出其给定部分而无法链接。
要更新内存映射,请按照插桩调试启动配置中的步骤操作,并添加新的仿真 RAM部分(不是仿真 ROM)。
对于新的模拟器内存映射行:
仿真 RAM | 0x02000000 | 0x02ffffff | 16384 千字节 |
修改 Parasoft 链接器选项的start 参数,以在内存映射中反映新行。
原始项目链接命令的起始参数:
-start=SU,SI,B_1,R_1,B_2,R_2,B,R/04,PResetPRG,C_1,C_2,C,C$*,D*,W*,L,PIntPRG,P/001000000,FIXEDVECT/0FFFFFF80
更新后的 Parasoft 链接选项:
-start=SU,SI,R_1,R_2,R/04,PResetPRG,C_1,C_2,C,C$*,D*,W*,L,PIntPRG,P/001000000,FIXEDVECT/0FFFFFF80,B_1,B_2,B/002000000
可能还需要更新堆栈和堆大小的值。它们由#define HEAPSIZE
和#pragma stacksize su
定义。
设置应用程序监视的示例工作流
从 Parasoft 插桩中排除包含系统初始化或中断代码的源文件:
- 右键单击一个源文件或一组选定的源文件,然后转到 Parasoft> C/C++test> 执行设置...。
- 在对话框中禁用插桩选择的源文件 选项。
用于应用程序监测的 C/C++test 执行流程需要指向自定义启动配置。设置配置:
- 在 IDE 菜单栏中选择Parasoft。
- 转到测试配置...> 内建>嵌入式系统> Renesas Rx。
- 复制在 e2 Studio 中可执行的构建和运行 Renesas Rx 应用程序监视 配置。复制的配置将显示在用户定义的类别中。
- 打开复制的配置,然后单击执行> 运行时选项卡。
- 启用在 debugger(*) 中运行测试复选框。
- 启用将 Eclipse 内部调试器与配置一起使用: 选项,然后从下拉菜单中选择新的调试启动配置 。