在CLION

时间:2016-09-17 20:13:47

标签: debugging gdb clion jlink nrf51

不久前CLion added support for Remote GDB debugging我试图用Seggers的J-Link GDB服务器进行设置。

我的设置:

  • 运行Ubuntu 16.04的VM VirtualBox
  • J-Link驱动程序:V6.10
  • 目标芯片:nRF51(ARM Cortex M0)
  • CLion 2016.2.2

我通常在windows中工作,但由于CLion不支持Windows中的远程GDB,我试图让它在VirtualBox中运行Ubuntu。我在CLion中配置了调试器,如图中所示,并在上面的链接中通过博客提供了一些帮助。我使用的参数是基于J-Link文档(文档:UM08001)和一些猜测。 GDB server setup

我的问题是,当运行调试器时,进程才会停止,而CLion的控制台输出:

  

“无法连接到目标。请检查电源,连接和   设置“。

我试图从终端运行JLinkGDBServer然后我得到了这个:

/usr/bin/JLinkGDBServer -device nrf51422_xxAC -if swd -speed 1000 -endian little
SEGGER J-Link GDB Server V6.10 Command Line Version

JLinkARM.dll V6.10 (DLL compiled Sep 14 2016 16:46:16)

-----GDB Server start settings-----
GDBInit file:                  none
GDB Server Listening port:     2331
SWO raw output listening port: 2332
Terminal I/O port:             2333
Accept remote connection:      yes
Generate logfile:              off
Verify download:               off
Init regs on start:            off
Silent mode:                   off
Single run mode:               off
Target connection timeout:     0 ms
------J-Link related settings------
J-Link Host interface:         USB
J-Link script:                 none
J-Link settings file:          none
------Target related settings------
Target device:                 nrf51422_xxAC
Target interface:              SWD
Target interface speed:        1000kHz
Target endian:                 little

Connecting to J-Link...
J-Link is connected.
Firmware: J-Link OB-SAM3U128-V2-NordicSemi compiled Jul  5 2016 08:42:09
Hardware: V1.00
S/N: 681666518
Checking target voltage...
Target voltage: 3.30 V
Listening on TCP/IP port 2331
Connecting to target...Connected to target
Waiting for GDB connection...

有没有人知道我做错了什么?

1 个答案:

答案 0 :(得分:2)

您可能会混淆GDB服务器和GDB本身。这些是应该在CLion中的GDB远程调试配置中设置的GDB选项,而不是GDB服务器设置。

也就是说,首先从终端手动运行JLinkGDBServer,就像您已经完成的那样,并让它等待GDB附加。此时应注意连接端口:

Listening on TCP/IP port 2331
Connecting to target...Connected to target
Waiting for GDB connection...

然后在CLion中编辑您的GDB远程调试配置以使用主机GDB(在您的情况下很可能是/usr/bin/gdb,如果需要,使用sudo apt install gdb安装它),并使用上面提到的端口作为"目标遥控器"字符串:

  • GDB:/usr/bin/gdb
  • " target remote" args::2331

注意前面的冒号位于端口前面。这是使用TCP连接到localhost的简写。以防万一,显式格式为tcp:localhost:2331

现在您可以启动调试会话。 CLion将启动配置的主机GDB,GDB通过指定的TCP连接与JLinkGDBServer通信,最后GDB服务器与您的设备聊天。