From PaparazziUAV
Revision as of 12:32, 3 September 2013 by NeoFromMatrix (talk | contribs)

Jump to: navigation, search
ST-LinkV2 (stm32f4-Discovery)

SWD can be used to upload the firmware to stm32fx MCU without a bootloader.

A ST-Link is needed, any stm32-discovery board has a ST-LinkV2 on it (starts @ 8€).

A standard ST-Link costs from 17€

Needed Tools

st_flash and st_util need to be installed, compiled from source ( Libusb 1.0, autogen is required.

Download from Github and

git clone git://
cd stlink

To rename flash to st-flash: ("flash" is not the best name as environment variable)

mkdir /opt/stlink
cd /opt/stlink
cp /home/user/src/stlink/flash/flash ./st-flash
cp /home/user/src/stlink/gdbserver/st-util .
echo PATH=\"$PATH:/opt/stlink\" >> /etc/environment
source /etc/environment

USB permission

cp /home/user/src/stlink/49-stlinkv*.rules /etc/udev/rules.d
udevadm control --reload-rules

Warning: For ST-LinkV1 take a look at the readme.txt !


Connect the ST-Link to the MCU. If a complete stm32fx-discovery board is used, CN3 jumpers need to be set. To program a external MCU, remove CN3 jumpers and connect the external MCU with the SWD header.