, What i did with my STM32VLDiscovery board that had a shitty stlinkv1
0. Prepare some config for the hacked board (downloadable from
1. Solder PA9 (Tx) and PA10 (Rx) to PB8 and PB9 pins on the right-hand
pin array. Solder PB12 to the BOOT pin.
2. Solder a wire to R7 (BOOT0) and connect it to 3.3V pin.
3. Hack stm32flash a bit to support "Readout Unprotect" command
(basically, just sending 0x92 0x6D is enough to erase ST-Link and
prepare it for the flashing).
3.5 If the stm32flash doesn't see the device, check Rx/Tx connection,
try resetting by shorting C10 with tweezers.
4. Use stm32flash to flash the BMP's DFU bootloader
4.5 Desolder the BOOT0 wire.
5. Use dfu-util to flash the BMP binary in DFuSe mode to 0x8002000.
6. Solder PB1 and PB0 to the two NC pins to get TRST and SRST signals.
7. Whenever you want to reflash BMP just temporarily short the BOOT
pin to 3.3V and reset the board.