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

Posted

技术标签:

【中文标题】无法在 Ubuntu 上启动 J-Link GDB 服务器【英文标题】:Cannot start J-Link GDB Server on Ubuntu 【发布时间】:2021-12-31 22:39:39 【问题描述】:

我目前正在研究 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 服务器相同。 好像是版权问题,请问如何解决?

【问题讨论】:

安装udev规则 udev 规则已安装 你刷新了udev还是重启了? 【参考方案1】:

正如@KamilCuk 所说,问题来自 udev 规则。

所以你只需要将 Segger 提供的规则与系统上的 J-Link 软件一起复制即可:

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

然后你必须重新启动系统:

$ reboot

【讨论】:

以上是关于无法在 Ubuntu 上启动 J-Link GDB 服务器的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Mac 上安装和配置 J-Link JTAG 调试器

clang 3.1 在 Ubuntu 12.04 上构建的二进制文件无法使用 gdb 进行调试

STM32CbueIDE 与 J-Link

使用 Netbeans/gdb 调试 C 会立即以 SIGSEGV 终止?

linux上使用J-Link调试S3C2440裸机代码

无法在 macOS Sierra 上通过 USB 连接到 J-Link