IBM Rational Test RealTime V7.5 与 IBM Telelogic Rhapsody V7.4 的集成

安装 Rational Test RealTime integration for Rhapsody

安装需要以下三步:

  1. 在 Rhapsody 中创建 Rational Test RealTime 菜单。
  2. 在 Rhapsody 中创建一个新的 Rational Test RealTime 配置。
  3. 更新 Rational Test RealTime 的批处理文件。

在 Rhapsody 中创建 Rational Test RealTime 菜单

  1. 通过打开提供有以下产品的范例来启动 Rhapsody :

    C:\Program Files\Telelogic\Rhapsody 7.4\Samples\CSamples\pacemaker\pacemaker.rpy
  2. 在 Rhapsody 中,点击 Tools > Customize。然后 Helpers 窗口就会打开了。
  3. 点击 New 按钮以创建一个名为 Test RealTime 选项的新定制菜单。

    在 Command 区域中,输入以下的行:
  4. C:\Program Files\Rational\TestRealTime\bin\intel\win32\TestRTcl.exe
  5. 在 Arguments 中,输入 TestRTRhap.opt
  6. 选择 Show in Tools menu,如图 1 所示,然后点击 Apply
图 1. New Test RealTime 选项菜单
Helper 参数上的菜单列表
  1. 点击 New 按钮以创建一个名为 Test RealTime Results 的新定制菜单。
  2. 在 Command 中,输入以下的命令行:C:\Program Files\Rational\TestRealTime\bin\intel\win32\studioreport.exe
  3. 在 Arguments 中,输入:*/*/attolccReport.xtp
  4. 选择 Show in Tools menu,如图 2 所示,然后点击 Apply
图 2. New Test RealTime Results 菜单
Helper 参数上的相同菜单列表
  1. 点击 New 按钮以创建一个名为 Test RealTime Clean 的新定制菜单。
  2. 在 Command 中,输入以下的命令行:C:\Program Files\Rational\TestRealTime\bin\intel\win32\studioreport.exe
  3. Arguments中,输入:-clean */*/attolccReport.xtp
  4. 选择 Show in the Tools 菜单,如图 3 所示,然后点击 Apply
图 3. New Test RealTime Clean 菜单
Helper 参数下更长的菜单的列表
  1. 点击 New 按钮以创建一个名为 Test RealTime Clean All 的新定制菜单。
  2. 在 Command 中,输入以下的命令行:C:\Program Files\Rational\TestRealTime\bin\intel\win32\studioreport.exe
  3. 在 Arguments 中,输入: -cleanAll */*/attolccReport.xtp
  4. 选择 Show in the Tools menu ,如图 4 所示,然后点击 OK
图 4. NewTest RealTime CleanAll 菜单
菜单的更新列表

在 Rhapsody 中创建一个新的 Rational Test RealTime 配置

  1. 在 Rhapsody 项目树形结构中,右击<<Executable>>EXE,如图 5 所示,然后点击 Set as Active。
图 5. Entire Model View 中的 Rhapsody 项目树形结构
EXE 在树的 pacemaker 组件之下
  1. 为了创建一个新的配置,复制已经存在 Host 配置并重命名复制为 Host_Coverage
  2. 在 Configurations 节点中创建一个 Host 配置的拷贝。新的配置会自动命名为 Host_copy,如图 6 所示。
图 6. Host 的拷贝
EXE 下面的 Host, Host_copy, 以及目标配置
  1. 右击 Host_copy,如图 7 所示,然后点击 Set as Active
图 7. Host_拷贝
Rhapsody 树中高亮显示的 Host_copy
  1. 双击 Host_copy 配置并将其重命名为 Host_Coverage
图 8. 重命名 Host 拷贝
带有 8 个项和 General tab 的 Name 区域
  1. 点击 Settings 项,并在 Environment 下拉列表中,选择合适的编辑器,如图 9 所示。
图 9. 选择一个汇编器
选择的 Microsoft,右边是默认的按钮

点击查看大图

  1. 确保 Instrumentation Mode 被设置成 Animation,如图 10 所示。
图 10. 设置 Instrumentation 模式
左边是下拉列表,右边是 Advanced 按钮

点击查看大图

  1. 点击 Properties 项并选择 View Common > All,如图 11 所示。
图 11. 选择所有
菜单项
  1. 展开 C_CG 属性并选择构建环境。
  2. 将 InvokeMake 属性从 msmake.bat 更改为 msmakeRTRT.bat,如图 12 所示(或者从 CygwinMake.bat 到 CygwinMakeRTRT.bat,根据您的环境而定)。
图 12. 更改属性名
Properties 是 8 个项之一

点击查看大图

  1. 点击 OK

为 Rational Test RealTime 更新“Make batch file”

这个段落描述了怎样更新“Make batch file”,以汇编 Cygwin(一种在 Windows 中模拟 Linux® 的环境)或者 Microsoft® Visual Studio® Version 6。

  1. 对于 Cygwin:更新 CygwinMake.bat 文件。
  2. 对于 Microsoft Visual Studio V6:更新 msMake.bat文件。

更新 CygwinMakeRTRT.bat 文件

  1. 复制并重命名以下的文件:<RhapsodyInstallDir>\Share\etc\CygwinMake.bat到:<RhapsodyInstallDir>\Share\etc\CygwinMakeRTRT.bat
  2. 编辑 CygwinMakeRTRT.bat 文件并作出以下的更改:设置环境变量 ATLTGT 为已选择的构建环境:设置 ATLTGT=%TESTRTDIR%\targets\cpcgnu 添加以下的代码:set RT_OPT=-opt=../../TestRTRhap.opt -act=../../TestRTRhap.opt_act -treatmt=Rhaptrmt.pl -env_OMROOT=<RhapsodyInstallDir> -env_OMROOT="C:\Progra~1\Telelogic" -noinstrdir="C:\Program Files\Telelogic\Rhapsody74\Share"在每一行的结尾添加以下代码:CC="attolcc %RT_OPT% -- gcc" LINK_CMD="attolcc %RT_OPT% -- g++"

故障排除

确保行 RT_OPT=-opt...在您的文本编辑器中。如果您从您的 Adobe PDF 阅读器中粘贴这行的话,那么在汇编阶段您可能会出现问题:代码有三行。

列表 1 显示了 CygwinMakeRTRT.bat文件应该是什么样的。

列表 1. 范例 CygwinMakeRTRT.bat 文件
@echo off
PATH=c:\cygwin\bin;%PATH%
if "%2"=="" set target=all
if "%2"=="build" set target=all
if "%2"=="rebuild" set target=clean all
if "%2"=="clean" set target=clean

set RT_OPT=-opt=../../TestRTRhap.opt 
-act=../../TestRTRhap.opt_act -treatmt=Rhaptrmt.pl 
-env_OMROOT="C:\Progra~1\Telelogic" 
-noinstrdir="C:\ Progra~1\Telelogic\Rhapsody74\Share"

echo Setting environment for Cygwin
echo "make.exe"
make -s %target% -f %1 CC="attolcc %RT_OPT% -- gcc" LINK_CMD="attolcc %RT_OPT% -- g++"

更新 msmakeRTRT.bat 文件

  1. 复制并重命名以下的文件:<RhapsodyInstallDir>\Share\etc\msmake.bat
    到:
    <RhapsodyInstallDir>\Share\etc\msmakeRTRT.bat
  2. 编辑msmakeRTRT.bat文件以进行以下的更改:
    • 添加以下的代码行:
      set RT_OPT=-opt=../../TestRTRhap.opt -act=../../TestRTRhap.opt_act -treatmt=Rhaptrmt.pl -env_OMROOT=<RhapsodyInstallDir> -env_OMROOT="C:\Progra~1\Telelogic" -noinstrdir="C:\Program Files\Telelogic\Rhapsody74\Share"
    • 在每一行的结尾添加以下的代码行:CC="attolcc %RT_OPT% -- cl" LINK_CMD="attolcc %RT_OPT% -- link"
  3. 编辑 Vcvars32.bat 文件以设置环境变量 ATLTGT 为选择的构建环境:set ATLTGT=%TESTRTDIR%\targets\cvisual6

故障排除

确保 set RT_OPT=-opt... line 在您的文笔编辑器中。如果您从您的 PDF 阅读器粘贴这行的话,那么您在汇编阶段可能会出现问题:代码有三行。

列表 2 显示了文件 msmakeRTRT.bat 应该是什么样的。

列表 2. 范例 msmakeMakeRTRT.bat 文件
@echo off
if "%2"=="" set target=all
if "%2"=="build" set target=all
if "%2"=="rebuild" set target=clean all
if "%2"=="clean" set target=clean
rem ensure that the following bolded code is on one line 
set RT_OPT=-opt=../../TestRTRhap.opt -act=../../TestRTRhap.opt_act -treatmt=Rhaptrmt.pl 
-env_OMROOT="C:\Progra~1\Telelogic" -noinstrdir="C:\ Progra~1\Telelogic\Rhapsody74\Share"

set MAKEFLAGS=
call "C:\Program Files\Telelogic\Rhapsody 7.4\Share\etc\Vcvars32.bat" x86
echo ''nmake.exe
rem ensure that the following bolded code is on one line
nmake /nologo /S /F %1 %target% %3 %4 %5 %6 CC="attolcc %RT_OPT% -- cl" LINK_CMD="attolcc 
%RT_OPT% -- link"

列表 3 显示了Vcvars32.bat文件应该是什么样的。

列表 3. 范例 Vcvars32.bat 文件
@echo off
rem
rem Root of Visual Developer Studio Common files.
....

set VcOsDir=
set VSCommonDir=

rem ATLTGT for TestRealTime
set ATLTGT=%TESTRTDIR%\targets\cvisual6

Rhapsody with Microsoft Visual Studio V6 中工具的范例

编辑 Host_Coverage 配置

  1. 打开 Host_Coverage 配置,并在 Settings 窗格中,选择 Microsoft。
  2. 确保以下的选项设置成如图 13 所示。

    • Instrumentation 模式设置成 Automation;
    • Environment 被设置成 Microsoft
    • Build 被设置成 Debug
图 13. 验证 Host_Coverage 设置
指定选项显示在 Settings 项上

点击查看大图

  1. 在 Properties 项上,选择 View all
  2. 在 C_CG 中,Microsoft ® 之下,将 InvokeMake 设置从 msmake.bat 更改为 msmakeRTRT.bat,如图 14 所示。
图 14. 属性
更改的 InvokeMake 设置

点击查看大图

  1. 点击 OK

使用 Rational Test RealTime 来实现

  1. 从 Rhapsody 项目中,选择 Tools > Test RealTime 选项,如图 15 所示。
图 15. Open工具
菜单项
  1. 点击 Enable,如图 16 所示。
图 16. Enable按钮
窗口右边的方形按钮
  1. 如有需要,您可以更改设置。例如,在 Other Options 中添加 -verbose,如图 17 所示。
图 17. Specify 选项
Runtime Analysis Setup 选项
  1. 点击 Apply,然后点击 OK

向模型添加 Rational Test RealTime 转储点

Rational Test RealTime 是为嵌入式和实时系统设计的,它通常都是设置成从不停机的。在这种情况下,运行时分析结果都在目标内存中得到评价,直到您决定将其返回至主机为止 。

因此,您必须添加一个转储命令到 Pacemaker 转变中。您可以这样做:

  • 从 Packages 树中:
  • 从 PaceMaker 状态表中:

从 Packages 树添加一条转储命令

  1. 点击 Enable。
  2. 在 Packages 树中选择转储命令(图 18)。
图 18. 选择“from On”
Incoming 转变的关闭状态
  1. 在 General 项上,操作代码中( Action 区域中)添加以下的声明,如图 19 所示。#pragma attol insert _ATCPQ_DUMP(1); printf("TestRT results dumped!\n");
图 19. 指定转变操作
Name, Stereotype, Target, Trigger, Guard, 以及 Action

点击查看大图

向 PaceMaker 状态表添加一条转储命令

  1. 选择并双击 evOFF 转变,如图 20 所示。
图 20. evOFF 转变
有 OFF 和 AVIMode 元素的表
  1. 在 General 项上,Action 代码中,添加以下的声明,如图 21 所示。#pragma attol insert _ATCPQ_DUMP(1); printf("TestRT results dumped!\n");
图 21. 指定转变操作
Name, Stereotype, Target, Trigger, Guard, 和 Action
  1. 点击 OK

生成并构建代码

  1. 为了生成代码,选择 Code > Generate > Ctrl-F7 并点击 Yes,如图 22 所示。
图 22. 创建 Host_Coverage 目录
Rhapsody 对话框提醒您创建一个目录
  1. 为了构建生成的代码,选择 Code > Build > Build EXE.exe (F7),如图 23 所示。
图 23. 构建代码
菜单命令

注意:只会处理带有更改配置的组件。

当构建完成时,Build 项会显示为 Build Done 状态,如图 24 所示。

图 24. 构建信息
Severity, Model Element, 以及 Description

运行操作程序

  1. 点击 Exclamation (!)按钮,如图 25 所示。
图 25. Exclamation 按钮
Save 图标下的按钮
  1. 点击以下的图标,如图 26 所示。
图 26. 点击 Run 按钮
带有前置三角形的图标
  1. 选择 Tools > Animated State chart ,如图 27 所示。
图 27. 选择 Animated 状态表
菜单命令
  1. 选择 Pacemaker[0] 实例,如图 28 所示,然后点击OK
图 28. 选择实例
列表显示了 Instance 和 Class

状态表会以默认的 OFF 状态打开,如图 29 所示。

图 29. OFF 状态下的状态表
有 9 个元素的表

点击查看大图

  1. 您可以与测试下的系统相交流。点击 Event Generator 按钮,如图 30 所示。
图 30. 点击 Event Generator
按钮显示红色图标
  1. 点击 Select 并选择 Pacemaker[0]实例。在 Event 列表中,选择一个事件,如图 31 所示。
图 31. 选择一个事件
下拉列表中选择的 evAAIMode
  1. 点击 OK

检查 Rational Test RealTime 结果

  1. 打开 Rational Test RealTime GUI 中的 Coverage 结果。点击 Stop 按钮以停止执行,如图 32 所示。
图 32. 点击 Stop
按钮显示红色的停止符号
  1. 在 Rhapsody 中,选择 Tools > Test RealTime Results。这会打开带有结果的 Rational Test RealTime ,如图 33 所示。
图 33. Code Coverage [attoIccReport]
左边是报告树,中间是图表,右边是项目浏览器

点击查看大图

添加工具到 Rhapsody 框架

内存文件报告可以向您展示许多内存外泄。这是因为 Rhapsody 框架执行在程序层次不能见的内存分配。为了处理它,您必须在工具中包含 Rhapsody 框架。

  1. 复制原始的 msbuild.mak文件,它位于C:\Program Files\Telelogic\Rhapsody74\Share\LangC
  2. 对于 Microsoft 文件编写,您构建带有标准库的工具库。为了做到这一点,复制组成库(不是.dll)的行:一旦清除前面构建中生成的文件,那么第二次将会构建相同的带有 Rational Test RealTime 工具和 Rational Test RealTime 前缀的库:

列表 4 显示了在更改 .axf 库之间的范例。

列表 4. 更改之前的代码
oxflibs :
	cd oxf
	$(MAKE) -f msoxf.mak CFG="oxf" $(BUILD_TARGET)
	$(MAKE) -f msoxf.mak CFG="oxfinst" $(BUILD_TARGET)
	$(MAKE) -f msoxf.mak CFG="distrib_oxf" $(BUILD_TARGET)
	$(MAKE) -f msoxf.mak CFG="distrib_oxfinst" $(BUILD_TARGET)
	cd ..

列表 5 显示了更改之后的相同范例。

列表 5. 带有复制行的代码
oxflibs :
	cd oxf
	$(MAKE) -f msoxf.mak CFG="oxf" $(BUILD_TARGET)
	$(MAKE) -f msoxf.mak CFG="oxf" $(BUILD_TARGET) LIB_PREFIX=RTMS clean
	$(MAKE) -f msoxf.mak CFG="oxf" $(BUILD_TARGET) LIB_PREFIX=RTMS 
	CPP="Attolcc -memprolib --no_sys_include -noTDP -- cl"
	$(MAKE) -f msoxf.mak CFG="oxfinst" $(BUILD_TARGET)
	$(MAKE) -f msoxf.mak CFG="oxfinst" $(BUILD_TARGET) LIB_PREFIX=RTMS clean
	$(MAKE) -f msoxf.mak CFG="oxfinst" $(BUILD_TARGET) LIB_PREFIX=RTMS 
	CPP="Attolcc -memprolib --no_sys_include -noTDP -- cl"
	etc ... 
   cd ..
  1. 重构有合适内存文件 Rhapsody 框架的库:点击 Code > Build Framework,如图 34 所示。
图 34. 重构库
菜单命令

在框架执行和构建过程结束之后(大概会花 5 分钟),重构 PacemakerEXE 文件以集成框架的新执行库到最终的可执行代码中。

生成更多运行时分析的结果

  1. 在 Rhapsody 中,选择 Tools > Test RealTime Options。
  2. 选择您想要使用的 Runtime Trace, Memory, or Performance Profiling 工具,如图 35 所示。
图 35. 选择工具进行激活
代码覆盖层次和特性激活 (C/C++)
  1. 点击 OK 再点击 Code > Rebuild 以重构您的组件,如图 36 所示。
图 36. 重构
菜单命令
  1. 多运行程序几次以检查活动状态表中的结果。不要忘记关闭事件 evOFF ,它允许停止包含转储命令的转变。
  2. 在 Rhapsody 中,选择 Tools > Test RealTime Results 以在 Rational Test RealTime 显示相应的报告,如图 37 所示。
图 37. 检查结果
左边是树形视图,右边是图表

点击查看大图

所学知识的总结

首先,为了安装 Rational Test RealTime integration for Rhapsody,您可以完成以下步骤:

  1. 在 Rhapsody 中创建 Rational Test RealTime 菜单
  2. 创建一个新的配置
  3. 更新编写批文件

接下来,您使用 Rhapsody with Microsoft Visual Studio V6 中的 Rational Test RealTime 的范例。您完成了这些任务:

  1. 编辑 Host_Coverage 配置
  2. 使用 Rational Test RealTime 工具
  3. 向模型添加 Rational Test RealTime 转储点
  4. 生成并构建代码
  5. 运行执行的程序
  6. 检查 Rational Test RealTime 结果
  7. 向 Rhapsody 框架添加工具
  8. 生成更多的运行时分析结果
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值