我在7447处理器上使用Lauterbach调试器(TRACE32接口)。我需要在这个处理器上加载多个文件,我在T32 GUI中运行命令。想法是让脚本完成这项工作。一种方法是在startup.cmm中调用单个.cmm文件。但是每次GUI弹出一个再次需要手动输入的对话框时,都会遇到问题。任何人都可以告诉我如何在T32上使用命令行界面来实现相同的目标吗?
答案 0 :(得分: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脚本文件中使用Data.LOAD命令,或者在几个* .cmm脚本文件中使用Data.LOAD命令取决于您,但我会将其归为一个。 不应弹出对话框。
答案 1 :(得分:0)
如果有人仍然需要答案。 我的脚本加载elf文件:
<强>闪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
答案 2 :(得分:0)
我遇到了同样的问题,最后,我发现弹出对话框是根据 PRACTICE脚本(.cmm)创建的。
>因此,只需签出您的PRACTICE脚本(.cmm)并删除正在创建弹出对话框的代码即可。
以下代码是从PRACTICE脚本(.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,请检查此(controlling trace32 via command line)。