LDRA TBrun TCF文件中$(ProjectConfiguration)变量在哪里设置?
长话短说
LDRA TBrun的TCF文件中,$(ProjectConfiguration)变量是在哪里设置的?
问题背景
通过命令行运行contbrun.exe执行LDRA TBrun的TCF文件时运行失败,故障原因为文件引用的.axf格式可执行文件路径错误:
- 工具当前读取的错误路径:
C:\Code\SetName\src\arm\LDRA\SetName.axf
- 正确的引用路径:
C:\Code\SetName\src\arm\SetName\SetName.axf
需要将路径中的.\LDRA\片段替换为.\SetName\。
经排查,TCF文件中的可执行文件路径来自以下配置项:
SH Executable Name = $(ProjectDir)$(ProjectConfiguration)\$(SetName)$(ExeExtension) ... Sequencer Executable Name = $(ProjectDir)$(ProjectConfiguration)\$(SetName)$(ExeExtension) ... Harness Executable Name = $(ProjectDir)$(ProjectConfiguration)\$(SetName)$(ExeExtension)
需要保留参数引用的配置形式,不硬编码写入正确路径,因此需要调整$(ProjectConfiguration)的取值,但在TCF文件内检索不到该变量的赋值语句,检索LDRA相关配置项也未找到明确对应该变量的设置条目。
回答
$(ProjectConfiguration)不属于TCF文件内定义的局部变量,取值按优先级从高到低来自三个渠道:
- 命令行传参赋值:调用
contbrun.exe时可通过-D参数直接给该变量赋值,优先级最高。示例:
当前场景下变量默认取contbrun.exe -DProjectConfiguration=SetName your_test_file.tcfLDRA,就是命令行未传参时工具自动填充的默认值。 - 集成IDE变量继承:如果从Keil MDK、IAR、Visual Studio等IDE的LDRA插件侧启动测试流程,
$(ProjectConfiguration)会直接继承IDE内对应工程的活动配置输出目录规则,无需在LDRA侧单独设置。 - LDRA工作区默认配置:前两个渠道都未赋值时,工具会读取当前
.ldraworkspace工作区文件内的默认配置,该配置对应TBrun主界面Project > Settings > Build选项卡下的Build output subdirectory字段,工具初始默认值为LDRA。
要保留参数引用形式不硬编码路径,最稳妥的方式是在命令行调用时通过-D参数显式传入ProjectConfiguration=SetName,不会受工作区默认配置变动影响。
内容的提问来源于stack exchange,提问作者CivFan
相关产品推荐
相关产品推荐

