Debugging 在STM32H7上使用GDB进行远程调试,PC未连接到评估板

Debugging 在STM32H7上使用GDB进行远程调试,PC未连接到评估板,debugging,gdb,stm32,gdbserver,Debugging,Gdb,Stm32,Gdbserver,我正在研究STM32H7评估板(核仁144和EVAL2)。我的IDE是STM32CUbeIDE 我的目标是远程调试:在Linux服务器上运行STM32CubeIDE(或其他IDE),并通过网络连接到主板 我可以成功运行以下安装程序: 将电路板连接到本地PC 在此本地PC上启动GDBserver 在远程Linux服务器上,设置调试配置以连接到远程GDB服务器 这很好用。但我需要更进一步:我想移除本地PC,也就是说,该板将通过以太网直接连接到网络 有人告诉我,Xilinx有一个JTAG/以太网适

我正在研究STM32H7评估板(核仁144和EVAL2)。我的IDE是STM32CUbeIDE

我的目标是远程调试:在Linux服务器上运行STM32CubeIDE(或其他IDE),并通过网络连接到主板

我可以成功运行以下安装程序:

  • 将电路板连接到本地PC
  • 在此本地PC上启动GDBserver
  • 在远程Linux服务器上,设置调试配置以连接到远程GDB服务器
这很好用。但我需要更进一步:我想移除本地PC,也就是说,该板将通过以太网直接连接到网络

有人告诉我,Xilinx有一个JTAG/以太网适配器,叫做Smartlynq,它允许这样做,但它的工作方式让我有点困惑

你知道STM32生态系统的等价物吗

在没有PC的情况下,是否会有另一种远程调试设置?

这是一种用于支持以太网的ARM的JTAG/SWD调试器。与其他J-Link型号一样,它应该可以很好地用于STM32。

使用Raspberry PI作为调试适配器。 它将比JLINK Pro便宜一些。如果有可用的WLAN,请使用Pi 0 W,否则您需要一个更大的带有以太网的。将其设置为远程工作(启用ssh、设置固定IP地址等),然后可以禁用GUI桌面,并断开显示器和键盘的连接

运行
gdbserver

Pi有一个ARM CPU,它支持Thumb指令集,但不支持Thumb-2,因此其本机
gdbserver
可能能够调试Cortex-M7控制器。如果不能,那么您必须在Pi上安装
gdb arm none eabi

连接到目标板

有两种选择

  • 将板载调试适配器连接到PI上的USB端口,然后按照在PC上执行的方式运行
    openocd
  • 绕过板载调试适配器,将Pi上的一些引脚直接连接到目标的
    SWD
    引脚。您必须移除一些跳线以禁用板载调试适配器。关于如何编译和使用带有本机
    SWD
    支持的
    openocd
    ,有很多介绍

很有趣,谢谢。但我真的不明白它是怎么工作的。它是否执行gdb服务器?在PC上运行
JLinkGDBServer
,并指定要连接的J-Link适配器的IP地址。非常类似于USB,只是它通过网络连接到适配器。感谢@berendi的建议。对于小预算来说,这听起来很明智,即使设置起来有点复杂。