2016-09-17 5 views
2

Vor nicht langer Zeit CLion added support for Remote GDB debugging und ich versuche, es mit Seggers J-Link GDB-Server einzurichten.J-Link GDB-Debugging in CLion

Mein Setup:

  • VM VirtualBox läuft Ubuntu 16.04
  • J-Link-Treiber: V6.10
  • Ziel Chip: nRF51 (ARM Cortex M0)
  • CLION 2016.02.02

Ich arbeite normalerweise in Windows, aber wie CLion nicht unterstützt Remote-GDB in Windows Ich versuche, es funktioniert mit Ubuntu in VirtualBox. Ich habe den Debugger in CLion wie im Bild gezeigt mit ein wenig Hilfe vom Blog im obigen Link konfiguriert. Die Argumente, die ich verwendet habe, basieren auf der J-Link-Dokumentation (Dokument: UM08001) und einigen Ratschlägen. GDB server setup

Mein Problem ist, dass, wenn der Debugger läuft der Prozess gerade beendet und CLION Konsole Ausgänge:

„Konnte nicht zum Ziel anschließen Überprüfen Sie bitte Power, Verbindung und Einstellungen..“

Ich habe versucht, JLinkGDBServer vom Terminal zu laufen und dann bekomme ich soweit dies: falsche

/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... 

Hat jemand eine Ahnung von dem, was ich tue?

Antwort

1

Vermutlich verwechseln Sie den GDB-Server und GDB selbst. Dies sind GDB-Optionen, die in der GDB Remote-Debug-Konfiguration in CLion-, nicht in den GDB-Server-Einstellungen festgelegt werden sollten.

Das heißt, Sie führen JLinkGDBServer zum ersten Mal manuell aus dem Terminal aus, so wie Sie es bereits getan haben, und lassen Sie es warten, bis GDB sich anhängen kann. In diesem Moment sollte man den Verbindungsanschluss bemerken:

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

Dann bearbeiten Sie Ihre GDB Remote-Debug-Konfiguration in CLION den Host-GDB (höchstwahrscheinlich /usr/bin/gdb in Ihrem Fall, installieren Sie es sudo apt install gdb bei Bedarf verwendet wird) zu verwenden, und verwenden Sie die Port oben erwähnt als Teil der "Zielfern" string:

  • GDB: /usr/bin/gdb
  • "Zielfern" args: :2331

Beachten Sie den vorhergehenden Doppelpunkt vor dem Port. Dies ist eine Abkürzung für die Verbindung zu localhost mit TCP. Nur für den Fall ist das explizite Formular tcp:localhost:2331.

Jetzt können Sie die Debugsitzung starten. CLion startet die konfigurierte Host-GDB, GDB kommuniziert über die angegebene TCP-Verbindung mit JLinkGDBServer und schließlich chattet der GDB-Server mit Ihrem Gerät.

+0

Vielen Dank! Das hat mein Problem gelöst. –

+0

@bad_coffee Sie sind herzlich willkommen! –

+0

Kann dies in IntelliJ Community Edition funktionieren? Vielen Dank! –