Hi again, I spent a bit of time investigating the performance issue: a semihosting call (ie. a breakpoint) is emitted for each character, which is very very slow as you can imagine.
To make things faster: - I had to enable syslog buffering, so that up_puts was called instead of up_putc. - I had to implement SYSLOG buffer write with SYS_WRITE (0x5) rather than SYS_WRITE0 (0x4). SYS_WRITE0 couldn't be used as the buffer portions we get from the syslog buffer aren't null-terminated. SYS_WRITE requires a file handle, so a bit of initialization code is needed to get a file handle to stdout. Here's a quick n' dirty patch for it that I've tested on RP2040 + picoprobe with OpenOCD. I'd like some input on how to implement the initialization properly. Jean
> On 14 Oct 2025, at 11:52, Jean Thomas <[email protected]> wrote: > > Hi all, > > It is very slow with debug probe too. I couldn't get pyOCD to work... > > Jean > >> On 14 Oct 2025, at 09:44, Tomek CEDRO <[email protected]> wrote: >> >> Can you try with pyOCD and compare? Maybe different debug probe? >> >> https://pyocd.io/docs/semihosting.html >> >> Tomek >> >> On Tue, Oct 14, 2025 at 2:13 AM Lwazi Dube <[email protected]> wrote: >>> >>> It is very slow here too. >>> >>> On Mon, 13 Oct 2025 at 18:50, Alan C. Assis <[email protected]> wrote: >>> >>>> >>>> I don't know if it only happens here, but the text is printed slowly (about >>>> 10 characters per second). >>>> >>>> But it is a nice effect hehehe, like in movies or games (like Carmen >>>> Sandiego game printing the message, who here remember it: >>>> https://www.youtube.com/watch?v=X2hy711hDgM ) >>>> >>>> Thank you very much for your help! >>>> >>>> BR, >>>> >>>> Alan >>>> >> >> >> >> -- >> CeDeROM, SQ7MHZ, http://www.tomek.cedro.info >
