openocd -f interface/stlink-v2.cfg -f target/stm32f0x.cfg -c "init" -c "halt" -c "stm32f1x unlock 0" -c "reset halt" -c "exit"
After that, you need to physically remove power from the device in order for the reset to take effect.
Note the stm32f1x
is no typo. OpenOCD uses the same backend for STM32F1x and STM32F0x.
Example output:
Open On-Chip Debugger 0.11.0-rc2 Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html WARNING: interface/stlink-v2.cfg is deprecated, please switch to interface/stlink.cfg Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'. Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD Info : clock speed 1000 kHz Info : STLINK V2J24S4 (API v2) VID:PID 0483:3748 Info : Target voltage: 3.296172 Info : stm32f0x.cpu: hardware has 4 breakpoints, 2 watchpoints Info : starting gdb server for stm32f0x.cpu on 3333 Info : Listening on port 3333 for gdb connections Info : device id = 0x10006444 Info : flash size = 16kbytes stm32x unlocked. INFO: a reset or power cycle is required for the new settings to take effect. Info : Unable to match requested speed 1000 kHz, using 950 kHz Info : Unable to match requested speed 1000 kHz, using 950 kHz target halted due to debug-request, current mode: Thread xPSR: 0xc1000000 pc: 0x080000c0 msp: 0x20000400