I bought a ST-Link V2 clone to try and program a STM32 MCU that I salvaged from a hoverboard PCB (STM32F031C6T6). I've been having some difficulty getting it to work.
I downloaded STM32CubeIDE and set it to use OpenOCD for programming. The GDB server says the device ID is 0x00000000
, which is why I'm guessing it says it can't recognize the device as STM32 family.
I have tried using hardware reset, and connected the clone programmer's reset pin to the MCU's reset pin, but the hardware reset does not trigger, I found this question and tried the hack to bridge the programmer's PB0 pin on the MCU, but I am still not getting a hardware reset. Would it need a correct device ID before it triggers a reset?
I'm also unsure why the device ID reads as 0x00000000
; I've read about corrupted flash but since I can't program the MCU, I can't rewrite the flash, or is there another way?
I don't think the chip is faulty, because other GDB console outputs seem to detect it correctly, and when I manually trigger a hardware reset by pulling the chip's reset pin low, then GDB shows the event on the terminal output.
I hope someone can help. Here is the GDB output:
Open On-Chip Debugger 0.12.0-rc1+dev-00061-g5e9b46d77 (2022-10-20-14:50)
[https://github.com/STMicroelectronics/OpenOCD]
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : STLINK V2J40S7 (API v2) VID:PID 0483:3748
Info : Target voltage: 3.053435
Info : clock speed 4000 kHz
Info : stlink_dap_op_connect(connect)
Info : SWD DPIDR 0x0bb11477
Info : [STM32F031C6Tx.cpu] Cortex-M0 r0p0 processor detected
Info : [STM32F031C6Tx.cpu] target has 4 breakpoints, 2 watchpoints
Info : starting gdb server for STM32F031C6Tx.cpu on 3333
Info : Listening on port 3333 for gdb connections
Info : accepting 'gdb' connection on tcp/3333
Info : device id = 0x00000000
Warn : Cannot identify target as a STM32 family.
Error: auto_probe failed
Error: Connect failed. Consider setting up a gdb-attach event for the target to prepare target for GDB connect, or use 'gdb_memory_map disable'.
Error: attempted 'gdb' connection rejected
shutdown command invoked
It uses a STM32F103CBT6 MCU. The target is interfaced using SWD at 3.3 V.