He construido mi propia placa con STM32F7-45VGT6. Lo he programado con éxito con ST-LINK v2 (aunque no el original) y ahora ni siquiera puedo conectarme con MCU.
Uso la utilidad ST-Link de la interfaz ST y SWD. Puede ser el caso de que use pines SWD como salida y en mi código los configuré como salida GPIO. ¿Puede ser el caso?
Sin embargo, conecto mi pin de reinicio a GND y configuro la opción "Conectar bajo reinicio" en la Utilidad ST-Link pero no funciona ... ¿Qué puedo hacer?
En Internet, he encontrado algo sobre el uso de BOOT0 Pin, pero no sé exactamente ...
stm32
programming
flash
st-link
zupazt3
fuente
fuente
Respuestas:
Me las arreglé para resolver ese problema. Si alguien encuentra un problema similar, esto es lo que he hecho:
Utilicé ST-Link v2 y ST-Link Utility. En la configuración, configuro "Conectar bajo reinicio" y la interfaz SWD (no estoy seguro acerca de la frecuencia).
Luego presioné el botón de reinicio en mi tablero e hice clic en "Destino" -> "Borrar chip" y justo después de hacer clic solté el botón - Borré el chip para que ahora pueda reprogramar mi MCU.
De todos modos, si necesita usar pines SWD como salida, agregue algo de retraso al comienzo del programa o use algún puente para deshabilitar / habilitar la configuración de estos pines como salidas.
fuente
Para que la conexión bajo reinicio funcione, el ST-Link debe tener control sobre el pin de reinicio, si lo ata a tierra, el ST-Link no tiene ninguna posibilidad de ejecutar el objetivo y obtener acceso a él.
Si tira del pin BOOT0 alto durante el encendido, la MCU se iniciará en el cargador de arranque interno y podrá obtener acceso mediante varios protocolos en serie (consulte el manual de referencia para obtener más detalles).
Dentro del gestor de arranque, los pines SWD deberían estar disponibles para obtener acceso, pero no estoy 100% seguro de esto.
El ST Flash Loader Demonstrator es una herramienta que le permite borrar / programar el micro usando la interfaz UART. Si no puede acceder a ninguno de los UART de su micro, esta solución no funcionará para usted.
fuente
si está usando stmcubemx, debe configurar el cable serie en la pestaña de pin stmcube. en la pestaña de pinout, haga clic en SYS y cambie la opción de depuración a cable serial. solucionó mi problema, y quizás tu problema también.
fuente
Descargué un código en mi propia placa STM32F427. Entonces ya no puedo conectarme a mi placa usando la utilidad ST-LINK. Creo que mi código desordena las configuraciones de pin del puerto de depuración (? No puedo confirmar). Lo que hice es lo siguiente para hacer la conexión y reprogramar mi placa:
Restablecí 2 tableros con este truco. Espero que esto ayude. --Beto
fuente
Como dijo dili:
STM32CubeMx no configura el puerto de depuración de forma predeterminada, por lo tanto, ST-Link dejará de funcionar una vez que actualice su código. Tienes que borrar el chip con ST-link Utility, por ejemplo. Para conectarme con la MCU, tuve que tirar del pin BOOT0 alto durante el encendido para activar el gestor de arranque. Luego vaya al menú Tarjet y borre el chip .
fuente
Para reprogramar la MCU, mantenga presionado el botón de reinicio y elija conectarse al dispositivo en la utilidad ST-Link o presione descargar en su IDE (por ejemplo, Keil) y luego suelte el botón de reinicio.
fuente
Los pines de arranque (bits en algunas versiones) pueden evitar que se inicie el depurador. Asegúrese de no implementar el patrón de arranque al inicio (cierto patrón binario en los pines boot0 y boot1), de lo contrario su MCU entrará en estado de arranque.
fuente