Как получить информацию о регистрации работы в GDB с OpenOCD
Я новичок в OpenOCD и GDB, так что будьте добры ко мне. Я запускаю свой OpenOCD на сервере в Screen1, который общается с системой. На экране 1 я жду, когда будет установлено соединение:
Информация: JTAG нажмите: некоторые abcd: процессор включен
В Screen2 я запускаю gdb, а затем (gdb) целевого удаленного локального хоста:2001 Screen2: принимаю соединение gdb с 2001 -> Это работает нормально, затем я получаю кучу сообщений об ошибках, таких как: Ошибка: запуск цели остановит ее первым. -> Почему я должен получить это. Все, что я сделал, это подключился. Screen1: теперь все, что я хочу сделать, это набрать info reg и получить значения регистров. Вопрос 1: Как вы надежно останавливаете систему? Какая команда? Если я продолжу делать c stop CTRl-C, то в большинстве случаев информация о регистре всегда равна нулю, но время от времени я получаю действительные значения. Что бы гарантированно остановить процессор и прочитать регистры.
1 ответ
У вас должно быть
-c 'reset halt'
в аргументе вашей команды openocd.
Или вы можете ввести
reset halt
либо из gdb, либо в командной строке openocd, если вы подключаетесь к openocd через telnet.
Из GDB
(gdb) monitor reset halt
Из Telnet
Добавлять
-c 'telnet_port 4444'
вам команду openocd, затем с другого терминала запустите
telnet localhost 4444
.
$ telnet localhost 4444
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Open On-Chip Debugger
> reset halt