cancel
Showing results for 
Search instead for 
Did you mean: 

STM32U073 SWO Debug not available?

S13
Associate

So here is a weird thing I've noticed with a STM32U073...

CubeMX shows that this CPU has the "Trace Asynchronous SW" option, but for this mcu it is no longer listed under SYS, but under its own category: "Trace and Debug" -> "DEBUG". Anyway, after enabling it, the signal shows up on the graphical pinout, with the name "DEBUG_JTDO-SWO". This is pretty much the same as i was used to with other STM32 mcu's.

So when i was designing a PCB for this new STM32U073 MCU i assumed it had support for SWO (or SWV or whatever the name is). But now when I'm trying to debug this MCU, the debugger doesn't allow me to enable "Serial Wire Viewer (SWV)" in the debug configuration properties of STM32CubeIDE. The option is just greyed out. So I did some more digging in the datasheet for the STM32U0, and I'm starting to wonder if it even has support for SWO/SWV? 

Can anyone enlighten me? Is this just a problem with the debug config in STM32CubeIDE, or does the STM32U0 have no SWO/SWV capabilities? 

I'm running STM32CubeIDE 1.19.0

4 REPLIES 4
TDK
Super User

Cortex-M0 and Cortex-M0+ (STM32U0) do not have SWV or SWO output.

If you feel a post has answered your question, please click "Accept as Solution".
S13
Associate

Thank you for confirming! Not what i was hoping for tbh...

So that leaves a weird situation where CubeMX thinks the U0 does have SWO. I mean what is this all about?:

STM32U0_DEBUG.png

KDJEM.1
ST Employee

Hello @S13 and welcome to the STCommunity;

 

Thank you for bringing this issue to our attention.

I reported internally the STM32CubeMX issue.

Internal ticket number: 218532(This is an internal tracking number and is not accessible or usable by customers

 

Thank you.

Kaouthar

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.


@S13 wrote:

Not what i was hoping for tbh...


As @TDK said, this is a limitation of the ARM Cortex-M0 & -M0+ cores, so you shouldn't expect this feature on any microcontroller using those cores - it's not just an ST thing.

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.