linuxgdbaccess-rightssegger-jlink

Cannot start J-Link GDB Server on Ubuntu


I am currently working on the ARM Cortex-M4 inside the NXP i.MX8M Mini. I am able to compile a project for M4 on Eclipse IDE on an Ubuntu VM. I would now like to debug on the M4 via a SEGGER Flasher ARM probe, still from Ubuntu.

My probe is well recognized by Ubuntu, and I can launch the J-Link GDB server by simply typing the command :

$ sudo ./JLinkGDBServerCLExe

However, if I type the same command without sudo, I get :

$ ./JLinkGDBServerCLExe
SEGGER J-Link GDB Server V7.58b Command Line Version

JLinkARM.dll V7.58b (DLL compiled Nov 16 2021 15:04:27)

-----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: Unspecified
Target interface: JTAG
Target interface speed: 4000kHz
Target endian: little

Connecting to J-Link...
Connecting to J-Link failed. Connected correctly?
GDBServer will be closed...
Shutting down...
Could not connect to J-Link.
Please check power, connection and settings.

My problem is that when I start eclipse, I get the same result as starting the GDB server without sudo. It seems that this is a rights issue, how can I solve it?


Solution

  • As @KamilCuk said, the problem came from the udev rules.

    So you just have to copy the rules provided by Segger with J-Link Software on the system:

    $ sudo cp 99-jlink.rules /etc/udev/rules.d
    

    Then you have to reboot the system:

    $ reboot