stlink is an in-circuit debugging and programming tool for ST-Link v1
and v2 devices. It is similar to OpenOCD but just for ST-Link devices.
https://github.com/texane/stlink
IMPORTANT: You need permissions to access the stlink usb devices. Here
are example udev rules for stlink v1 and v2 so you don't need to have
root permissions (copied from <stlink>/49-stlink*.rules):
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3744", MODE:="0666", SYMLINK+="stlinkv1_%n"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3748", MODE:="0666", SYMLINK+="stlinkv2_%n"