无法在 Ubuntu 上启动 J-Link GDB 服务器

Cannot start J-Link GDB Server on Ubuntu

我目前正在研究 NXP i.MX8M Mini 中的 ARM Cortex-M4。 我能够在 Ubuntu VM 上的 Eclipse IDE 上为 M4 编译一个项目。 我现在想通过 SEGGER Flasher ARM 探针在 M4 上进行调试,仍然来自 Ubuntu.

我的探测器被 Ubuntu 很好地识别,我可以通过简单地键入命令来启动 J-Link GDB 服务器:

$ sudo ./JLinkGDBServerCLExe

但是,如果我在不使用 sudo 的情况下键入相同的命令,我会得到:

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

我的问题是,当我启动 eclipse 时,我得到的结果与在没有 sudo 的情况下启动 GDB 服务器的结果相同。 好像这是个配股,请问如何解决?

正如@KamilCuk 所说,问题出在 udev 规则上。

所以你只需要在系统上用J-Link软件复制Segger提供的规则:

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

然后你必须重启系统:

$ reboot