Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Debugging ARM Cores With IP-Based Debug Probes and Eclipse

DZone's Guide to

Debugging ARM Cores With IP-Based Debug Probes and Eclipse

Don't want to be directly connected to your debug probe? Here's how to debug ARM cores with IP-based probes and some help from Eclipse.

· IoT Zone ·
Free Resource

Using IP (Ethernet)-based debug probes is a very handy thing: I don’t have to be directly connected to the debug probe (e.g. with a USB cable). This article explains how to use an IP-based Segger or P&E probe with the Eclipse-based MCUXpresso IDE.

LAN Based Debugging

LAN-Based Debugging

I’m using Ethernet/IP-based debug probes to attach to boards that are not physically close to my host computer (e.g. located on the roof or in the basement of a building). Another case is if the board is on a robot or moving machine: Then I can attach the probe to a wireless access point and don’t need any cable connection.

LAN Port

LAN Port on Debug Probe

Ethernet/IP-based another room (such as in the basement). Additionally, I can attach such a probe to a WiFi/Wireless access point. Such LAN based debug probes usually still have a USB port, which is used both for (local) debugging and as the power supply to the debug probe.

In this article, I’m using IP-based probes from Segger and P&E with MCUXpresso IDE 10.1. Typically the IDE will not find itself the IP based debug probe (but it will find the ones attached through USB), so in order to connect to an IP-based one, I have to enter the IP address into the debug/launch configuration.

Segger

I’m using the Segger J-Link Flasher and Segger J-Trace Pro for my Ethernet-based debugging.

In the MCUXpresso IDE create first a launch configuration. The easiest way is to first debug the board locally with a USB based debug probe connection.

The next thing is to find out the IP address of the debug probe. For this, I use the J-Link Configuration utility, which scans all IP-based probes in the local network:

IP Address in J-Link Configuration Tool

IP Address in J-Link Configuration Tool

Next, open the debug configuration and enter the IP address found:

IP Address in MCUXpresso IDE Debug Configuration

IP Address in MCUXpresso IDE Debug Configuration

All the other settings can stay as configured for a USB based debug configuration.

Segger offers a remote server for non-IP based debug probes, see Remote Board Debugging: J-Link Remote Server with Eclipse

That’s it: With this, I can debug my target board using that IP address.

P&E

I’m using the P&E Cyclone FX and P&E TraceLink for Ethernet-based debugging.

The P&E Cyclone FX programmer shows the IP address on the touch display of the probe:

IP Address on Cyclone Fx

IP Address on Cyclone Fx

For the P&E Tracelink (which does not have a LCD display) there is the TraceLink IP Setup Utility from P&E which is used to configure the debug probe IP address.

I recommend starting with a working USB connection based debug configuration. To enable the IP connection inside the MCUXpresso IDE debugger launch configuration:

PEMicro IP Settings

PEMicro IP Settings

That’s it! With this, I can debug using that IP address.

Summary

Using IP-based/networking debug probes are very useful to debug targets not physically close to the host system. Using Eclipse (MCUXpresso IDE in this case) allows me to use it like a USB attached probe: Basically, all that I need to know is the IP address and set that up in the debug configuration, and I’m ready to debug my application using the network. The downside is that these IP-based probes are more expensive than the USB based ones, but having one around to work in a more unusual environment is very much worth the extra price.

Happy networking!

Links

Topics:
iot ,debugging ,arm ,eclipse ,tutorial

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}