目的是检查我的控制器是否已停止在正确的位置。
我正在使用tcl-script。该命令reg pc
将寄存器的值输出pc
到控制台。因此,理论上,以下命令应将某些内容存储在变量中。
set x [ reg pc ]
但是结果变量x
仍然为空。
如何获取寄存器的值并将其存储到变量中?
有点棘手的事情。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中,所有内容都是字符串。这样就行了!