StLink
MultiProg works with StLink as an SWD interface for ARM/RISC-V programming.
Preparing ST-Link for use
Starting with MultiProg 2.3.3, ST-Link drivers and the firmware updater ship in the bundle — you no longer need to download them from the vendor site.
On first launch MultiProg unpacks the archives into the user profile:
%USERPROFILE%\KuragaTech\MultiProg\programmer_utils\stlink\
├── en.stsw-link009.zip ← USB drivers (~5.3 MB)
└── en.stsw-link007-v3-14-5.zip ← Firmware Updater v3.14.5 (~2.1 MB; also supports non-original ST-Link)
The folder lives under %USERPROFILE% (C:\Users\<your_user>), so administrator rights are not required to run the utilities.
On typical ST-Link errors ("firmware too old", "Programmer not found", "libusb error", "usb communication") the error dialog shows an "Open ST-Link Utilities" button — it opens the folder in Explorer with a single click.
Before first use of ST-Link — two steps:
Step 1. Install the USB drivers
- Unzip
en.stsw-link009.zipinto any convenient folder. - Run
stlink_winusb_install.bat— drivers will be installed for the ST-Link debug / ST-Link bridge / ST-Link VCP USB classes. - Plug ST-Link into the computer and make sure it appears in Device Manager without any "yellow triangles".
Step 2. Update the ST-Link firmware
As of today, the latest tested ST-Link firmware version is v3.14.5.
Even if ST-Link reports the firmware as up-to-date — reflash it. Some suppliers (especially of Chinese clones) replace the firmware version number without updating the actual contents.
- Unzip
en.stsw-link007-v3-14-5.zipinto any convenient folder. - Plug ST-Link into USB.
- Run
stsw-link007/Windows/ST-LinkUpgrade.exe. - In the utility window click
Open in update mode→Upgrade. - Wait for completion — the utility will display the new firmware version.
After this, ST-Link is ready to work with MultiProg.
Pinout
In the original version of StLink, there is an output with controlled VDD and an output with unmanaged, constant power. To work with StLink, you need to use the pin with constant power.
Reset
Make sure to check the reset functionality; it is required on many controllers for proper erasing/writing. You can select any controller in StLink and press connect; there should be a short pulse on the reset.
Serial Wire Debug (SWD)
A very common interface, originally an alternative to JTAG, operating over 2 pins (SWDIO/SWCLK). For ARM, this is the primary interface for programming and debugging.
Programming
Starting with MultiProg 2.3.0, ST-Link is driven by our in-house
SWD backend KT SWD — a library written from scratch at Kuraga Tech
that replaces the previous third-party stack. On top of it we ship our
own flash routines for every supported family.
Included families:
- STM32 — F0, F1, F2, F3, F4, F7, G0, G4, H7 (9 families)
- Infineon FM3 / FM4 — 2 families
- NXP MKE — MKE02Z, MKE04Z, MKE14Z, MKE15Z (4 families)
Fast write via SRAM routines — for STM32 F0/F1/F2/F3/F4/F7/G0/G4/H7, NXP MKE02/04/06 and Infineon FM4 MB9B560 writes are executed by a small microprogram uploaded into the target's SRAM (previously — byte-by-byte through DAP). Speed is on par with J-Flash / J-Link.
Owning the full stack means we improve and extend it without waiting on third-party libraries — including Option Bytes, EEPROM, FlexNVM and per-family quirks.