0

我发现 Lauterbach Trace32 允许从命令行启动 Trace32 实例。

我有一个ts2 文件。我正在尝试使用 t32start.exe 来启动和关闭 Trace32 实例。我大致尝试了以下方法:

t32start ts2_file_path -RUNITEM core_item_from_tree

但是我无法用相同的方法关闭 Trace32 实例。谁能告诉我他打开和关闭 Trace32 实例的正确方法?

更新

有时,GUI 可能必须在目标仍在运行时强制关闭。(可能是因为挂起或 DAP 配置失败)。

在这些情况下,重新启动 GUI 时会出现以下弹出窗口:

在 GUI 重新启动时重置弹出窗口

这会阻止使用 Trace32,因为此后远程访问总是返回通信失败。有没有办法通过将标志传递给 trace32.exe 命令或其他方式来自动重置目标(按“是”)?

4

1 回答 1

4

从命令行启动 TRACE32:

T32Start 是一种工具,可帮助您生成 TRACE32 配置文件,然后使用临时生成的配置文件为您的目标架构系列启动实际的 TRACE32 应用程序。

因此,要启动 TRACE32,您可以:

  • 使用您建议通过 T32Start 启动 TRACE32 的命令行(仅适用于 Windows)
  • 生成一个永久配置文件并直接使用它启动 TRACE32。

TRACE32 安装的 PDF 子文件夹中的“installation.pdf”文档告诉您如何创建配置文件。您还可以使用 T32Start 创建永久配置文件,如下所示:

  1. 使用 T32Start 创建您需要的配置。确保为每个具有唯一端口的内核启用“高级 > 接口 > API 端口”,以便以后能够从命令行关闭 TRACE32。
  2. 然后右键单击一个核心(带有劳特巴赫标志的节点)并从上下文菜单中选择“显示启动环境...”。
  3. 然后打开的窗口在右下角有一个“将批处理作业另存为...”按钮和一个用于“将配置另存为...”的按钮。使用这两个按钮保存两个文件。假设您已将配置保存在名称myconfig.t32下。
  4. 调整保存的批处理作业,以便调用 TRACE32 的命令行指向配置文件。最后,您应该有一行格式t32m<cpu> -c <configfile.t32> -s <startscript.cmm>,其中<cpu>是您要调试的 CPU 体系结构系列的简称(如 ARM、PPC、RISCV - 您将在批处理文件中看到它)。例如c:\t32\bin\windows64\t32marm -c c:\t32\myconfig.t32 -s c:\t32\mytestcase.cmm
  5. 如果您有 AMP 多核设置,则对配置的所有核心重复步骤 2 到 4。
  6. 合并所有保存的批处理文件并使用批处理文件启动所有 TRACE32 实例。(理想情况下,在启动第一个 TRACE32 GUI 后等待几秒钟)。

从命令行关闭 TRACE32:

确保在您想要关闭的所有 TRACE32 GUI 上启用远程 API。您会在“高级 > 接口 > API 端口”中找到每个核心节点的 T32Start 设置。
最后,每个 TRACE32 GUI 的配置文件包含以下几行:

RCL=NETASSIST
PORT=20000

该块之前和之后必须有一个空行(而该块也可能包含以 PACKLEN= 开头的行)
PORT= 之后的值定义了一个 UDP/IP 端口,并且对于每个 TRACE32 GUI 必须是唯一的。

如果您有一个启用了 API 端口的开放式 TRACE32 GUI,您可以通过 TRACE32 远程 API 向它发送命令。(请参阅 TRACE32 安装中的 api_remote.pdf。)使用远程 API 向 TRACE32 实例发送简单命令的命令行工具是 t32rem.exe(您可以在您的 TRACE32 安装)。

使用 t32rem 如下:

t32rem localhost port=<myport> <command>

对于<myport>选择您在上面的配置文件中使用的端口号PORT=。对于<command>使用您想要发送的任何 TRAC32 命令。例如QUIT关闭 TRACE32 GUI 的命令。

但是,如果您使用QUITTRACE32 命令,t32rem 将拼命等待一段时间以等待您刚刚关闭的 GUI 的响应。为避免这种情况,请创建一个测试文件“ quit.cmm ”并将以下几行放入该脚本中:

WAIT 800.ms
QUIT

然后通过命令行关闭 GUI:

c:\t32\bin\windows64\t32rem.exe localhost port=20000 "DO ""c:\t32\quit.cmm"" "

(仅当路径包含空格时才需要 CMM 文件路径周围的双引号。)

于 2018-01-22T01:41:56.467 回答