
Hallo Geektimes!
Heute möchte ich über die Fertigstellung des chinesischen ST-Link v2 mit einem Lötkolben sprechen. Sie können eine SWO-Ausgabe zum Empfangen von Debugging-Informationen und den Reset-Steuerfuß für STM32-Mikrocontroller hinzufügen (der gleiche Reset-Zweig, der bereits für STM8 verfügbar ist). Vielleicht ist dies für viele keine Entdeckung, aber lassen Sie es Informationen für Anfänger geben. Wen kümmert es bitte unter der Katze.
Warum wird es benötigt?Die zum Debuggen von STM32-Mikrocontrollern verwendete SWD-Schnittstelle unterstützt die Übertragung von Debug-Informationen über die SWO-Ausgabe in Echtzeit, was sehr praktisch ist. Nun, der Reset-Fuß wird benötigt, damit es bequemer ist, den Controller zu blinken, wenn die SWD-Schnittstelle deaktiviert ist. Der Grund ist sicherlich weit hergeholt, denn für Firmware können Sie immer die Reset-Taste mit den Griffen drücken, aber lassen Sie es sein. Zum Beispiel erhielt ich zu Beginn meiner Bekanntschaft mit STM32 ein Debugboard aus China mit einem Demo-Programm, das mit blinkender LED und deaktiviertem SWD blinkt. Ich verstand nicht sofort, wie ich mich damit verbinden sollte.
Revision selbst
Wir brauchen ein Skalpell, einen Lötkolben und ein paar Zentimeter eines sehr dünnen Drahtes, ich habe es MGTF * einige * da. Bei diesen Programmierern ist der Anschluss in zwei Teile unterteilt: den linken - für STM8 und den rechten - für STM32, sodass der dort vorhandene Reset nicht für STM32 geeignet ist. Wir werden unseren eigenen machen.
Schneiden Sie zuerst die Spuren ab, die zu den unnötigen Stiften führen. Bei meinem ersten modifizierten Programmierer habe ich die Beine von Reset und SWIM abgeschnitten, da ich nicht vorhatte, mit STM8 zu arbeiten, aber jetzt werde ich die zusätzlichen 3,3- und 5-V-Pins verwenden (sie sind am Anschluss dupliziert), um die Funktionalität des Programmierers nicht zu beeinträchtigen.
Die Drähte müssen mit den 18 (Reset) und 31 (SWO) Fuß des Mikrocontrollers verlötet werden. Das ist eine weitere Lektion, aber mit etwas Geschick kannst du es schaffen. Meine Drähte gingen gut in die Löcher auf der Platine, was eine zusätzliche Fixierung ermöglichte. Im Allgemeinen müssen Sie sie auf gute Weise sofort mit Klebstoff auf dem Mikrocontroller befestigen. Löten Sie die freien Enden durch kleine Widerstände (22 Ohm) an die neu geschnittenen Stifte.
Sie können den Fall schließen und neue Schlussfolgerungen unterzeichnen, damit Sie nicht vergessen, wo welche.
SWO-Prüfung

Um
SWO verwenden zu
können , müssen Sie:
-
SWD aktivieren;
- den entsprechenden Ausgang (für Mikrocontroller STM32F103C ist es PB3) auf
TRACESWO aktivieren ;
-
Stellen Sie sicher, dass
SWO in der Programmierumgebung enthalten ist und nicht
Semihosting .
- Verbinden Sie im Header des Programms die Bibliothek
#include "stdio.h" ;
- benutze
printf im Programmcode
("Hallo STM32 Welt! \ R \ n") ;
Sie können diese Nachrichten über das Terminal im STM32 ST-LINK-Dienstprogramm oder direkt während des Debuggens in meiner Umgebung anzeigen (ich verwende IAR).
Check zurücksetzenAngenommen, aus irgendeinem Grund ist das SWD auf dem Mikrocontroller deaktiviert: Entweder haben Sie vergessen, es während der Initialisierung einzuschalten, oder eine neue Karte wurde mit einem kabelgebundenen Demoprogramm geliefert. Natürlich können Sie durch Zurückziehen des Reset-Beins auf den Boden blinken (normalerweise befindet sich eine Schaltfläche auf den Debug-Boards), aber dies ist nicht immer praktisch. Sie können den Kontakt einfach vom Programmierer aus anschließen und automatisch nähen.
Wählen Sie im selben STM32 ST-LINK-Hilfsprogramm „Verbinden unter Zurücksetzen“ und stellen Sie eine Verbindung her, um zu blinken oder den Speicher des Mikrocontrollers zu löschen.
Oder wählen Sie in Ihrer IDE das entsprechende Element aus:
Auf diese Weise können Sie flashen und in den Debug-Modus wechseln. Sobald Sie jedoch die Initialisierung der Peripheriegeräte erreicht haben, wird die SWD-Verbindung getrennt und die Verbindung zum Controller wird unterbrochen.
Vielen Dank für Ihre Aufmerksamkeit, ich hoffe, jemand kommt nützlich.