Last edited 3 years ago

How to debug with Serial Wire Viewer tracing on STM32MP15

The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

This article provides some setup information for STM32MP15 serie, debugging Cortex-M in Production Mode. It does not intend to cover all STM32CubeIDE Serial Wire Viewer (SWV) capabilities; complete information is available in (UM2609), chapter 4.

In that mode, the available console on the board (UART4) is used by Cortex-A Linux. The clock tree is managed by Linux and 'Trace clock' needed to setup SWO is available from Linux console with command:
awk '/ck_trace/{print $5}' /sys/kernel/debug/clk/clk_summary

In order to test, let's modify main.c file from a generated project with a looping variable 'i', as depicted hereafter.

Trace clock from Linux console



Then, setup debug configuration, enabling SWV and setting the clock: 133.25MHz here.

Debug Configuration with SWV enabled



Stopping Debug session, open Serial Wire Views: Window > Show View > Other... > SWV > SWV Trace Log & SWV Data Trace.
In SWV Trace Log > Configure Trace menu, setup Comparator 0 in order to spy variable 'i'.

SWVConfigureTraceButton.png


SWV Setting

Then start the trace

SWVStartTraceButton.png

Resuming debug session gives inside SWV Data Trace view the corresponding graphic.

SWV Data Trace Output