stm32f051 Sobrescrito reservado

0

Creo que puedo haber sobrescrito los bits reservados al jugar con GPIO en mi tablero. Ahora, cuando intento conectarme con OpenOCD, da un error.

Info : Unable to match requested speed 1000 kHz, using 950 kHz
Info : Unable to match requested speed 1000 kHz, using 950 kHz
Info : clock speed 950 kHz
Info : STLINK v2 JTAG v24 API v2 SWIM v0 VID 0x0483 PID 0x3748
Info : using stlink api v2
Info : Target voltage: 3.260948
Error: init mode failed (unable to connect to the target)
in procedure 'init' 
in procedure 'ocd_bouncer'

¿Hay alguna forma de borrar la memoria en flash sin poder conectarme a la placa, o He bloqueado mi tarjeta.

    
pregunta A.Forbes

2 respuestas

2

He encontrado una forma de solucionarlo.

Primero lancé OpenOCD con algunas banderas especiales:

sudo openocd -f interface/stlink-v2.cfg -f target/stm32f0x.cfg -c init -c "reset halt"

Mientras mantiene presionado el reinicio durante aproximadamente medio segundo. Lo que hace que se conecte en un estado detenido.

Open On-Chip Debugger 0.9.0 (2016-07-31-11:32)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
adapter speed: 1000 kHz
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
adapter speed: 1000 kHz
adapter_nsrst_delay: 100
none separate
Info : Unable to match requested speed 1000 kHz, using 950 kHz
Info : Unable to match requested speed 1000 kHz, using 950 kHz
Info : clock speed 950 kHz
Info : STLINK v2 JTAG v24 API v2 SWIM v0 VID 0x0483 PID 0x3748
Info : using stlink api v2
Info : Target voltage: 3.240792
Info : stm32f0x.cpu: hardware has 4 breakpoints, 2 watchpoints
target state: halted
target halted due to debug-request, current mode: 

Luego podría conectarme a OpenOCD con gdb y borrar el flash y ahora se conecta sin errores.

    
respondido por el A.Forbes
1

Puede restablecer los bytes de opción de un dispositivo STM32 a sus configuraciones de fábrica con la herramienta J-Link Unlock STM32 de SEGGER. Se incluye en algunos SDK, pero puede descargarlo aquí:

enlace

También puedes usar J-Flash que también se incluye en J-Link para hacer un borrado completo. Verifique este enlace , podría ayudar.

    
respondido por el Fluffy

Lea otras preguntas en las etiquetas