2026-03-30 2:19 AM - last edited on 2026-03-31 2:55 AM by Andrew Neil
Hello Team,
We want to have Standalone Programmer based on ST`s Existing Flash Module Like St-Link V2, V3 Or Mini PCB tools.
I should be able to Use External ST MCU to Command this SWD module for Flashing n all task , like CubeProgrammer.
Basic Interface like Pushbutton to Start the Flash and Some LED to showcase any Error.
We would not prefer expensive available off-the-Shelf Programmer like Segger..... Not want to use Rpi as well.
This basically for FAE.
Regards,
2026-03-30 2:38 AM
If all you want to do is programming, you could just use the System Bootloader ?
Or a Custom Bootloader ?
2026-03-30 3:26 AM
> based on ST`s Existing Flash Module Like St-Link V2, V3 Or Mini
These devices indeed contain a STM32 MCU, but the firmware is closed, so you need some host to drive it over USB. If not RPi, then maybe a phone. The host device will also hold the files for programming.
2026-03-30 3:40 AM
You could look at how DAPLink does it ...
eg, https://os.mbed.com/handbook/DAPLink
2026-03-30 4:23 AM
If you need a ST-Link permanently connected to your circuit you could have a look on STLINK-V3MODS https://www.st.com/en/development-tools/stlink-v3mods.html#overview
2026-03-30 9:31 PM
Hello Friends,
Thanks for Sugegstions , However all Seems from USB Only and Needs USB Host. Like PC / Rpi.
Thinking kind of UART / SPI interface to Programmer ( SWD based Only ).
I am sure some has Needed / Done some kind of workaround this.
Hoiwever , Found this link : https://github.com/ataradov/embedded-swd
Says Possiblity , that i am thinking About.
2026-03-31 2:19 AM - edited 2026-03-31 2:58 AM
@bsuthar wrote:all Seems from USB Only and Needs USB Host.
Not true.
Again, look at DAPLink: that will show you how to have one microcontroller program another.
You take that without the USB part ...
@bsuthar wrote:Thinking kind of UART / SPI interface to Programmer
So why not use a UART or SPI bootloader?
PS:
ARM SWD documentation:
2026-03-31 4:31 AM - edited 2026-03-31 6:01 AM
"So why not use a UART or SPI bootloader?"
if u are talking about system bootloader , In that case I have to exexute BooT0 pin & RST pin High low Seqence mechanisum , Manually. Not directly , plug n Play. Also, System bootloader access not available after RDP1.
For , "Again, look at DAPLink: that will show you how to have one microcontroller program another."
Are you talking about Following Scenario ? Just confirming if we r on same page.
2026-03-31 4:41 AM
@bsuthar wrote:In that case I have to exexute BooT0 pin & RST pin High low Seqence mechanisum , Manually. Not directly , plug n Play.
You could include that in what your "programmer" device does.
Or you can call the System bootloader from your application: How to jump to system bootloader from application code on STM32 microcontrollers
Or you could use a Custom bootloader which doesn't rely on BOOT0 or NRST.
@bsuthar wrote:Are you talking about Following Scenario ?
Not really sure what you're saying there?
My point is that DAPLink includes code to enable one microcontroller to drive the SWD lines to program another microcontroller - so that's the part you need to extract.
(You will, of course, also need some way to get the code from your development system into your programmer)
2026-03-31 3:16 PM
> Also, System bootloader access not available after RDP1.
The whole SWD is not available after RDP2. Is RDP relevant to your use case?