无法在 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 进行调试