Difference between revisions of "How to debug with Serial Wire Viewer tracing on STM32MP15"
[checked revision] | [quality revision] |
m
|
m
|
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. It only provides some setup information for STM32MP15 serie, debugging Cortex-M in Production Mode.
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.
Then, setup debug configuration, enabling SWV and setting the clock: 133.25MHz here.
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'.
Resuming debug session gives inside SWV Data Trace view the corresponding graphic.
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 ([[STM32MP15 resources#UM2609|UM2609]]), chapter 4. It only provides some setup information for STM32MP15 serie, debugging Cortex-M in ''Production Mode''. <br> <br> 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: <br> '''''awk '/ck_trace/{print $5}' /sys/kernel/debug/clk/clk_summary'''''<br> <br> In order to test, let's modify main.c file from a generated project with a looping variable 'i', as depicted hereafter.<br> [[File:Swv-traceclk-linux-main.png|frame|center|''Trace clock from Linux console'']]<br> <br> Then, setup debug configuration, enabling SWV and setting the clock: 133.25MHz here.<br> [[File:Swv-dbg-cfg.png|frame|center|''Debug Configuration with SWV enabled]]<br> <br> Stopping Debug session, open Serial Wire Views: ''Window > Show View > Other... > SWV > SWV Trace Log & SWV Data Trace''. <br> In ''SWV Trace Log > Configure Trace'' menu, setup ''Comparator 0'' in order to spy variable 'i'. [[File:SWVConfigureTraceButton.png|none|frameless]]<br> [[File:Swv-settings.png|frame|center|''SWV Setting'']] Then start the trace [[File:SWVStartTraceButton.png|none|frameless]] Resuming debug session gives inside ''SWV Data Trace'' view the corresponding graphic. <br> [[File:Swv-data-trace.png|frame|center|''SWV Data Trace Output'']] <br> <br> <br> <noinclude> [[Category:STM32CubeIDE|51]]</noinclude>
Line 1: | Line 1: | ||
− | This article does not intend to cover all STM32CubeIDE Serial Wire Viewer (SWV) capabilities; complete information is available in ([[STM32MP15 resources#UM2609|UM2609]]), chapter 4 |
+ | 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 ([[STM32MP15 resources#UM2609|UM2609]]), chapter 4. |
<br> |
<br> |
||
<br> |
<br> |
||
Line 26: | Line 26: | ||
<br> |
<br> |
||
[[File:Swv-data-trace.png|frame|center|''SWV Data Trace Output'']] |
[[File:Swv-data-trace.png|frame|center|''SWV Data Trace Output'']] |
||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||