
Hola geektimes!
Hoy quiero hablar sobre la finalización del ST-Link v2 chino con un soldador. Puede agregarle salida SWO para recibir información de depuración y el pie de control de reinicio para microcontroladores STM32 (el mismo tramo de reinicio que ya está disponible para STM8). Quizás para muchos esto no sea un descubrimiento, pero que haya información para principiantes. A quién le importa, por favor, debajo del gato.
¿Por qué es necesario?La interfaz SWD utilizada para depurar microcontroladores STM32 admite la transferencia de información de depuración a través de la salida SWO en tiempo real, lo cual es muy conveniente. Bueno, el pie de reinicio es necesario para que sea más cómodo flashear el controlador si la interfaz SWD está desactivada. La razón es ciertamente exagerada, porque para el firmware siempre puedes presionar el botón Restablecer con las manijas, pero déjalo. Por ejemplo, en los albores de mi conocimiento de STM32, recibí una placa de depuración de China con un programa de demostración parpadeando con un LED parpadeando y desactivado SWD, no entendí de inmediato cómo conectarme a él.
Revisión en sí
Necesitamos un bisturí, un soldador y unos pocos centímetros de un cable muy delgado, lo tengo MGTF * algunos * allí. En estos programadores, el conector se divide en dos partes: la izquierda para STM8 y la derecha para STM32, por lo que el Reset existente no es adecuado para STM32, haremos el nuestro.
En primer lugar, corta las pistas que van a los pines innecesarios. En mi primer programador modificado, corté las patas de Reset y SWIM, porque no planeaba trabajar con STM8, pero ahora usaré los pines adicionales de 3.3 y 5 V (están duplicados en el conector), para no estropear la funcionalidad del programador, será útil.
Los cables deben soldarse a los 18 (Reset) y 31 (SWO) pies del microcontrolador. Esa es otra lección, pero con algo de habilidad puedes hacerlo. Mis cables entraron bien en los agujeros en el tablero, lo que dio una fijación adicional. En general, en el buen sentido, debe fijarlos inmediatamente con pegamento en el microcontrolador. Suelde los extremos libres a través de pequeñas resistencias (que sean 22 ohmios) a los pines recién cortados.
Puede cerrar el caso y firmar nuevas conclusiones, para no olvidar dónde.
SWO Check

Para usar
SWO debes:
- activar
SWD ;
- habilitar la salida correspondiente (para microcontroladores STM32F103C es PB3) en
TRACESWO ;
- asegúrese de que
SWO esté incluido en el entorno de programación y no de
semihosting ;
- en el encabezado del programa, conecte la biblioteca
#include "stdio.h" ;
- use
printf en el código del programa
("Hello STM32 world! \ R \ n") ;
Puede ver estos mensajes a través del terminal en el programa STM32 ST-LINK Utility, o directamente durante la depuración en mi entorno (uso IAR).
Reiniciar verificaciónSupongamos, por alguna razón, que el SWD está deshabilitado en el microcontrolador: o olvidó encenderlo durante la inicialización, o una nueva placa vino con un programa de demostración con cable. Por supuesto, puede parpadear tirando de la pata de reinicio al suelo (generalmente hay un botón en los paneles de depuración), pero esto no siempre es conveniente. Simplemente puede conectar el contacto desde el programador y coser automáticamente.
En el mismo programa de utilidad STM32 ST-LINK, seleccione "Conectar bajo reinicio" y conéctese a flash o borre la memoria del microcontrolador.
O en su IDE, seleccione el elemento apropiado:
Esto le permitirá flashear e ingresar al modo de depuración, pero tan pronto como llegue a la inicialización de los periféricos, el SWD se desconectará y la conexión con el controlador desaparecerá.
Gracias por su atención, espero que alguien sea útil.