0

T32 应用程序底部的状态行输出错误消息,如致命错误、链接错误等。这包括几个字段,如光标、模式、...

请参阅http://www2.lauterbach.com/pdf/ide_user.pdf第 23 页上的“State Line”

我需要在打开 t32 应用程序后获取状态,并在此基础上执行某些操作。所以请告诉我。

4

2 回答 2

0

要将调试字段值保存在 cmm 文件中的变量中,请使用以下命令:

&temp=STATE.TARGET()

此命令将保存调试字段上显示的当前状态。

于 2021-03-04T07:52:49.193 回答
0

要从 PRACTICE 脚本(又名“cmm-script”)获取有关目标和/或调试器状态的详细信息,请使用 PRACTICE 函数。这些功能在http://www.lauterbach.com/pdf/ide_func.pdfhttp://www.lauterbach.com/pdf/general_func.pdf中有描述。(您正在寻找的东西在 general_func.pdf 中)

以下是从State Line返回值的函数:

  • 左边的地址通常是程序计数器。PP()您可以使用程序计数器旁边的函数和符号来获取它sYmbol.NAME(PP())
  • 如果您单击具有关联地址的项目,状态行将显示该地址而不是程序计数器。您将获得最后选择的地址TRACK.ADDRESS()及其符号sYmbol.NAME(TRACK.ADDRESS())
  • 如果您有 SMP 多核方案,则下一个字段是核心编号。它显示当前选择的逻辑核心。可以通过函数获取号码CORE()
  • 如果您具有活动的操作系统意识,则下一个字段会显示活动任务。您可以通过 function 获得它的名称TASK()
  • “调试”字段有点棘手。我不认为有一个函数可以直接返回该字符串。但是SYStem.Up(),在“系统关闭”的情况下返回 FALSE(这意味着调试器未连接到您的目标内核),STATE.RUN()如果您的目标内核正在运行,则返回 TRUE。
  • “调试”旁边的字段显示跟踪记录器的状态。您可以使用 以数值形式获取状态Trace.STATE()
  • 有一个名为“调试器活动”的小字段。如果调试器执行了一些未明确请求的运行/停止活动,则为红色。例如,临时停止更新内存转储或在目标硬件上执行某些算法以进行闪存编程或用户定义的内存访问。不幸的是,似乎没有获得这种状态的功能。
  • 最后一个字段之前的字段显示调试模式,它设置为汇编程序、高级语言或具有汇编程序和 HLL 的混合模式。显示的字符串也可以通过DEBUGMODE().
  • 最后一个字段显示系统模式。相关函数是SYStem.MODE()SYStem.Up()

诸如“应用程序输出、错误消息、致命错误”之类的消息不会显示在“状态行”中,而是显示在“消息行”中:在 TRACE32 主窗口的底部,您有命令行(通常以 B:: 开头) ,在其下方是“消息行”(显示错误和其他消息),在软键下方(帮助您查找命令),最后是“状态行”。

“消息行”中显示的几乎所有消息也显示在“区域”窗口中。(命令AREA)。您可以使用函数获取 AREA 窗口的最后一行,AREA.LINE(A000,0)其中“A000”是默认 AREA 的名称,0 表示 AREA 的最后一行。

于 2019-03-08T00:12:49.957 回答