It seems that BMP waits until it has 64 bytes from SWO before sending off a packet.
I have three variants of sample code which connect over UART, RTT, and SWO, respectively.
The BMP is a Black Magic Probe (BlackPill-F411CE) v2.0.0-599-gbf757c8b.
I'm using PlatformIO on MacOS. Sample code is here, FWIW.
With RTT (and UART), the output is:
rtt: STM32G474xx @ 16 MHz (v7.0.9)
hello
hello
[etc ... one line added each second]
With SWO, the output is similar, but it comes in burst of 64 chars:
swo: STM32G474xx @ 16 MHz (v7.0.9)
hello
hel[.... output stops ... then resumes when 64 chars have arrived]
The command given to the BMP is mon swo enable 1000000 decode (the G474 inits the SWO regs to the same rate).
Could it be that the USB buffer is not being emptied on some sort of timeout?
It seems that BMP waits until it has 64 bytes from SWO before sending off a packet.
I have three variants of sample code which connect over UART, RTT, and SWO, respectively.
The BMP is a `Black Magic Probe (BlackPill-F411CE) v2.0.0-599-gbf757c8b`.
I'm using PlatformIO on MacOS. Sample code is [here](https://codeberg.org/jcw/jeeh/src/branch/main/examples/g474-weact/swo.cpp), FWIW.
With RTT (and UART), the output is:
```
rtt: STM32G474xx @ 16 MHz (v7.0.9)
hello
hello
[etc ... one line added each second]
```
With SWO, the output is similar, but it comes in burst of 64 chars:
```
swo: STM32G474xx @ 16 MHz (v7.0.9)
hello
hel[.... output stops ... then resumes when 64 chars have arrived]
```
The command given to the BMP is `mon swo enable 1000000 decode` (the G474 inits the SWO regs to the same rate).
Could it be that the USB buffer is not being emptied on some sort of timeout?