我正在使用openocd版本0.10.0和gdb版本8.0.1在运行高Sierra的Mac上进行工作。
我试图进入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吗?还是发生了其他事情?