1

我在 7447 处理器上使用劳特巴赫调试器(TRACE32 接口)。我需要通过在 T32 GUI 中运行命令来将多个文件加载到这个处理器上。想法是让脚本完成这项工作。一种方法是调用 startup.cmm 中的单个 .cmm 文件。但这会遇到一个问题,每次 GUI 弹出一个对话框,再次需要手动输入。谁能告诉我如何在 T32 上使用命令行界面来实现相同的功能?

4

3 回答 3

0

目标程序通常使用以下命令加载到 CPU 的内存中

Data.LOAD.Elf myprog.elf

但是,每次您在加载新目标程序之前使用 Data.LOAD.Elf 时,TRACE32 都会删除符号数据库。要禁止使用选项“/NoClear”。

因此,如果您想将多个 ELF(目标程序)加载到 CPU 的内存中,您应该这样做:

Data.LOAD.Elf myprog1.elf
Data.LOAD.Elf myprog2.elf /NoClear
Data.LOAD.Elf myprog3.elf /NoClear

如果您在一个 *.cmm 脚本文件或多个 *.cmm 脚本文件中使用 Data.LOAD 命令,则取决于您,但我会将其放在一个脚本中。不应弹出对话框。

于 2015-04-13T18:38:19.533 回答
0

以防有人仍然需要答案。我加载精灵文件的脚本:

flash-elf.cmm:

local &fileName
entry &fileName

print "LOAD &fileName"

IF (!FILE.EXIST(&fileName))
(
    PRINT "No elf file was flashed"
    ENDDO
    // T32 will stay opened
)

DO ~~/demo/powerpc/flash/mpc574xg.cmm "PREPAREONLY" // you should choose your cpu script

FLASH.ReProgram ALL
Data.LOAD.Elf &fileName
FLASH.ReProgram off

SYStem.ResetTarget

GO

QUIT

将其保存在您的主目录(或 bin,或 PATH 指向的任何目录)甚至 t32.config 旁边(安装 T32,这就是我使用的)

现在从 CMD 我打电话

t32mppc.exe -s ~~/flash-elf.cmm  my.elf

这是关于如何通过 TCP/UDP 控制 T32 的答案 https://stackoverflow.com/a/39400777/4875690

于 2018-02-06T17:45:13.077 回答
0

我遇到了同样的问题,最后,我发现弹出对话框是从PRACTICE Script (.cmm)创建的。

因此,只需检查您的 PRACTICE Script (.cmm) 并删除创建弹出对话框的代码。

下面的代码是从 PRACTICE Script (.cmm) 创建是/否对话框的代码示例

LOCAL &result
DIALOG.YESNO "Program FLASH memory?"
ENTRY &result
IF &result==FALSE()
 ENDDO
PRINT "User clicked Yes."

上面的例子来自这里(https://www2.lauterbach.com/pdf/ide_ref.pdf)。

如需通过命令行控制 trace32,请查看此(通过命令行控制 trace32)。

于 2020-07-21T20:31:53.793 回答