Я работаю на Mac под управлением high sierra, использую openocd версии 0.10.0 и gdb версии 8.0.1.
Я пытаюсь перейти к сеансу отладки на моем nrf52840, чтобы выяснить, где какой-то код ломается, но у меня возникают проблемы с получением GDB для работы с openocd. Используя терминал, я открою сеанс openocd с
openocd
Достаточно просто. Затем я открываю новое окно терминала и создаю сеанс telnet для подключения к сеансу openocd с
telnet localhost 4444
На всякий случай я запускаю
reset halt
потому что в противном случае он жалуется, когда я пытаюсь подключиться через GDB. Наконец, чтобы заставить GDB работать так, чтобы я мог пройти по коду, я открываю третье окно терминала и запускаю
gdb -e path/to/myhex.hex
, который запускает сеанс GDB. Затем для подключения к сеансу openocd я запускаю
target remote localhost:3333
, что дает мне ошибку
Remote debugging using localhost:3333
warning: Architecture rejected target-supplied description
Truncated register 16 in remote ‘g’ packet
И когда я проверяю сеанс openocd, чтобы увидеть, подключился ли он, я вижу
Info : accepting ‘gdb’ connection on tcp/3333
Info : dropped ‘gdb’ connection
Я попытался настроить архитектуру, чтобы сеанс gdb был совместим с моим чипом, но при попытке я вижу только варианты i386 и x86-64, а не ARM, как и чип. , Я видел несколько вещей, говорящих о gdbserver, но я не использую это, и я не думаю, что это необходимо здесь. Я ошибся? Должен ли я использовать gdbserver? Или что-то еще происходит?