PEmicro Blog

PEmicro Multilinks/Cyclones Debug With Powerful New SWO Tools

Oct 17, 2018

PEmicro has added powerful SWO debug support to its plug-in for Eclipse-based ARM IDEs. Users previously had to step through code or use breakpoints and halt the device in an attempt to find bugs in their code. This would only provide insight into activity at one point in time. With SWO debug, the user can now take advantage of real-time insight into what’s going on in their device using SWO power, variables, and printf features. Once the device is stopped, they are able to get a broad insight into various events that occurred during execution, via ITM Trace. PEmicro’s SWO plug-in is available for Windows, Linux (Ubuntu), and Mac OS.

Take a look at a screen capture of an Eclipse IDE with PEmicro’s SWO plug-in, shown below. Note the Real-Time Expressions, ITM Trace Capture, and Printf windows on the left, and the Real-Time Power window on the lower right. These SWO components are explained below.

Figure 1: Eclipse Plug-In With SWO Debug

SWO DEBUG COMPONENTS

Real-Time Power Measurement

Figure 2: Real-Time Power Measurement Window

Printf Statements

Real-Time Power tracks the power consumption of the device in real-time, in a scalable window. This allows the user to monitor changes in power consumption as the device, for example, goes hrough different power modes, or when certain peripherals are enabled/disabled.

Printf Statements

Figure 3: Printf Statements Window 

Real-time Printf statements allow output of different real-time debug messages to enhance the user’s debug experience. In this case, Printf data output is redirected to the SWO Printf window and is automatically picked up by PEmicro’s plug-in. This simple, flexible tool allows you to be notified when specific events occur, which provides valuable feedback throughout the debug session.

Real-Time Expressions

Figure 4: Real-Time Expressions Window 

Real-Time Expressions allow the user to monitor multiple  variables and expressions by pulling data from specific memory locations - all in real time as the code runs on the device. There’s no need to halt the device to gain valuable insight into the state of different peripheral registers and memory-mapped variables.

Trace Capture

Figure 5: ITM Trace Capture Window

ITM Trace Capture logs events and different triggers specified by the user. The user can configure it to capture specific events such as interrupts, exceptions, and memory reads and writes of specific values to different memory locations. ITM Trace Capture aggregates this data to provide the user with a better understanding of the program flow and the events that occurred. It clearly shows what was happening during specified triggers and debug actions.

Hardware Compatibility

Users can take advantage of these extremely useful power measurement and ITM trace features using debug probes Multilink Universal FX Rev. C or later, Multilink Universal Rev. D or later.

Tags related to this Blog Post

Multilink     Multilink FX     ARM     NXP     Debug