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 (scroll to view complete image)
SWO DEBUG COMPONENTS
Real-Time Power MeasurementFigure 2: Real-Time Power Measurement Window (scroll to view complete image)
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 StatementsFigure 3: Printf Statements Window (scroll to view complete image)
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 ExpressionsFigure 4: Real-Time Expressions Window (scroll to view complete image)
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 CaptureFigure 5: ITM Trace Capture Window (scroll to view complete image)
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.
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.