发表于: 2019-4-17 14:04:06 | 显示全部楼层

对于某些项目,可能无法调试在身边调试设备:电路板可能位于另一个房间、另一个站点或无法进行物理访问甚至危险的地方。在这种情况下,基于IP的调试器非常有用:只要我可以访问其IP地址,就可以正常工作。即使电路板正在移动或旋转,它也是一个出色的解决方案:将其连接到WLAN接入点,我仍然可以像在身边一样使用它。


但是,如果我的调试器仅连接到USB怎么办?本文介绍如何将USB调试器转换为基于IP的调试解决方案:这样我就可以轻松地从远程调试开发板,连接到网络:

ip-based-debugging-with-usb-debug-probe.jpg

基于IP的USB调试器进行调试


但基于IP的调试器比基于USB的调试器更昂贵。

lan-port.png

局域网端口


这样的调试器是一项非常好的投资,但是如果你没有这样的调试器呢?


概观

下面的框图显示了如何设置到开发板的远程调试连接:

remote-debugging-1.png

远程调试


服务器PC配置GDB服务器,为运行与本地(USB)调试器进行通信。这样,任何带有Eclipse和GDB Client的主机PC都可以通过TCP / IP连接到它并调试开发板。


前提条件

我只需要:

●    SEGGER J-LinkP&E Multilink调试器。可以是任何外部器或使用评估板调试器电路(例如J-Link OpenSDA或P&E OpenSDA)

●    连接到此调试器的主机。该主机需要在网络上可访问

●    具有J-Link或P&E支持的Eclipse CDT,例如GNU MCU Eclipse插件或NXP MCUXpresso IDE


服务器PC

在服务器PC上,我需要启动GDB服务器。


对于Segger,我可以使用JLinkGDBServerCL(Command Line)或JLinkGDBServer(GUI)。在Windows上,它使用GUI显示配置:

j-link-gdb-server-configuration.png

J-Link GDB服务器配置


然后它将等待远程调试器连接:

gdb-server-waiting-for-connection.png

GDB服务器等待连接


对于P&E,我必须启动'pegdbserver_console':

pegdbserver_console.exe-in-nxp-mcuxpresso-ide-10.3.1.png

恩智浦MCUXpresso IDE 10.3.1中的pegdbserver_console.exe


您需要在下一步中知道该主机的主机名(或IP地址)。在本例中,主机使用的IP地址:192.168.0.112。


主机PC

在主机PC上,使用带有GNU MCU Eclipse插件的Eclipse CDT,取消选中“start the J-Link GDB Server locally”并输入远程IP地址(默认端口为2331):

remote-debugging-in-gnu-mcu-eclipse.png

GNU MCU Eclipse中的远程调试


在MCUXpresso IDE 10.3.1中输入IP地址,使用手动服务器启动并禁用“start server”选项:

remote-debugging-in-mcuxpresso-ide-10.3.1.png

MCUXpresso IDE 10.3.1中的远程调试


对于P&E,也有类似的设置:

pemicro-remote-gdb-settings.png

PEMicro远程GDB设置


远程调试

有了这个,我可以调试远程目标,因为它将在本地连接。 SEGGER Server将显示如下连接状态:

connected-to-gdb-server.png

连接到GDB服务器


有了这个,我可以做远程调试:

remote-debugging-with-nxp-mcuxpresso-ide.png

使用NXP MCUXpresso IDE进行远程调试


总结

基于IP的远程调试非常容易。我需要在一台机器上运行P&E或SEGGER GDB服务器,然后我可以从任何地方连接到该服务器,然后调试该开发板,而无需物理访问它。这对于在机器上共享电路板或者如果无法访问该电路板特别有用。如果手头没有基于IP的调试器,这应该是一个非常可行的解决方案。当然,对于高延迟网络,这将影响调试性能,但方案是可行的。

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 47 | 回复: 68



手机版|

GMT+8, 2024-3-28 20:06 , Processed in 0.094680 second(s), 6 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表