温馨提示:本文翻译自stackoverflow.com,查看原文请点击:tcl - read register value into variable
openocd tcl

tcl - 将寄存器值读入变量

发布于 2020-05-09 18:36:20

目的是检查我的控制器是否已停止在正确的位置。

我正在使用tcl-script。该命令reg pc将寄存器的值输出pc到控制台。因此,理论上,以下命令应将某些内容存储在变量中。

set x [ reg pc ]

但是结果变量x仍然为空。

如何获取寄存器的值并将其存储到变量中?

查看更多

提问者
Cutton Eye
被浏览
34
Cutton Eye 2020-02-21 01:39

有点棘手的事情。reg pc不返回任何内容...为什么还要返回?^^会有用-.-

但是,这一工作原理可归功于邮件列表

set real_pc  [lindex [ocd_reg pc] 2]

# following executed returns the pc at (here) 0x1FC
ocd_reg pc
# returns: "pc (/32): 0x000001FC "

# Now I can check for my pc in tcl =)!
if { $expected_pc == $real_pc } { \
    echo "reg pc is correct! at $real_pc"
}

在我看来,该字符串分为3个块。采取的是块2,计数从0开始。在tcl中,所有内容都是字符串。这样就行了!