Why is STM32CubeIDE so much slower than STM32CubeProgrammer for programming chips?
This is a small but annoying issue.
In Cube32Programmer, after you connect to your board, the connection remains active, and the latency for programming the chip is almost imperceptible.
In STM32CubeIDE on the other hand, every time I program the chip there are several seconds of delay, while it launches gdb, and then waits to connect, and then connect again, and then programs, and the verifies.
I do this dozens of times a day and believe it or not, those extra 5 five second i lose each time are really distracting.
To solve this, I tried several things:
1. skip verification - it helps a little, and is usually safe to turn off during development. But most of the delay is not in verification, but the startup time.
2. I tried using "shared programmer" mode. I thought if I could connect Cube32Progammer, and have it share the connection with STM32CubeIDE, I could avoid the startup overhead. But It doesn't change anything.
3. i tried setting up the st-link in "persistent mode". You run the gdb server manually outside of STM32CubeIDE and it listens on a tcp port. Then, Cube32IDE connects to it instead of launching a new instance. This is cumbersome, and I ran into weird issue where I had to restart the process manually. It was not a happy experience. And to top it off, it still wasn't as fast as Cube32Programmer.
Dear ST - why can't we have nice things??
Update:
Linking partial workaround for non-debug session case
HOWTO: Download programs 30x faster to STM32 from STM32CubeIDE
