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 the USB cable). This article explains how to use an IP-based Segger or P&E probe with the Eclipse based MCUXpresso IDE.
I’m using Ethernet/IP-based debug probes to attach to boards which 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.
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 power supply to the debug probe.
Typically Eclipse might not be able to find a 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. However, the NXP MCUXpresso IDE has a feature included (configurable in the workspace settings) to discover attached IP based probes. For Segger it can be turned on here:
For P&E it it will do this automatically, additional settings are here:
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:
Next, open the debug configuration and enter the IP address found:
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.
The P&E Cyclone FX programmer shows the IP address on the touch display of the probe:
💡 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 to start with a working USB connection based debug configuration. To enable the IP connection inside the MCUXpresso IDE debugger launch configuration:
That’s it! With this I can debug using that IP address.
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 what 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 🙂
- P&E: http://pemicro.com/
- Segger: http://segger.com/
- NXP MCUXpresso IDE: http://www.nxp.com/mcuxpresso/ide