считывать значение регистра в переменную - например, контролировать местоположение ПК - PullRequest
0 голосов
/ 20 февраля 2020

Цель - проверить, остановился ли мой контроллер в правильном положении.

Я использую tcl-скрипт. Команда reg pc выводит значение регистра pc на консоль. Таким образом, в теории следующая команда должна хранить что-то в переменной.

set x [ reg pc ]

Но результирующая переменная x остается пустой.

Как я могу получить значение регистра и сохранить его в переменная?

Ответы [ 2 ]

1 голос
/ 20 февраля 2020

Вид хитрости. 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 все является строкой. Так что это работает!

0 голосов
/ 20 февраля 2020

Вам нужна команда exec:

set x [exec reg pc]

Команда exec выполняет команду reg pc и возвращает вывод.

...