STM32L MCU - SWD-Pin auf der Platine stimmt nicht mit der Prozessor-Pinbelegung überein

Ich habe mein Hardware-Hack-Projekt auf einem Gerät zur Überwachung der Luftqualität durchgeführt, das einen STM32L476Prozessor verwendet.

Airbox-StifteMeine einzigen Erfahrungen mit Hardware-Hacking sind IPcams oder WLAN-Router mit verfügbaren UART-Konsolen. Aber nach einigem Probieren und Versuchen konnte ich keinen Weg finden, mit meiner Airbox zu interagieren.
(Die USART-Pins geben beim Booten einfach eine UUID aus und dann passiert nichts mehr.)

Ich denke also, meine nächstbeste Wahl sind diese SWD-Pins. Ich fahre dann fort, das Datenblatt von zu erhalten STM32L476und bin auf dieses Problem gestoßen.

Laut Datenblatt entspricht und Pin SWDIOund hat keine anderen Pins alternative Funktionen, um als SWDIO oder SWCLK zu arbeiten. Aber genau hinsehen und nicht einmal mit den an Bord markierten Pins verbunden sind. und sind die einzigen, die Pinbelegungen haben, also denke ich, dass sie sehr wahrscheinlich von Entwicklern als Debugging-Ports verwendet werden. Aber soweit ich weiß, benötigen STM32-Chips nur zwei Pins, um mit SWD zu debuggen, und es sind 8 Pins an Bord! Diese Schaltung macht für mich einfach keinen Sinn :((SWCLKPA13PA14STM32L476 Pinbelegung STM32L476-Pin-Definition


PA13PA14SWD1Geben Sie hier die Bildbeschreibung ein
SWD1USART

Ich bin sehr neu in der Hardware, daher bin ich nicht vertraut mit dem, was Hardwareentwickler normalerweise tun. Ist es üblich, dass einige Pins an Bord als A gekennzeichnet sind, aber wirklich als B funktionieren? Oder habe ich nur einige sehr dumme Fehler bei meiner Recherche gemacht?


Bearbeiten:

Nachdem ich alle Kommentare und Antworten gelesen hatte, habe ich einige Tests durchgeführt und einige Eigenschaften dieser Pins aufgelistet: Ich denke, ich kann loslegen und mit dem nächsten Schritt fortfahren? Es gibt einfach so viel zu lernen, während ich auf die Ankunft meines ST Link V2 warte. Vielen Dank an alle, die mir mit größter Freundlichkeit und Hilfe zur Seite standen😊😊Geben Sie hier die Bildbeschreibung ein

Haben Sie gemessen, dass keine Verbindung von einem dieser Header-Pins zu den SWD-Pins besteht, oder tun Sie dies nur, indem Sie der Spur optisch folgen?
@Arsenal Nun ... nachdem ich Ihren Kommentar gelesen hatte, versuchte ich, mit meinem Multimeter einen Durchgangstest an diesen Pins durchzuführen, und bekam wirklich zwei Pins in SWD1, die mit PA13 und PA14 durchgehend sind. Wie dumm bin ich, eine Schaltung nach ihrem Aussehen zu beurteilen D: .... Wie auch immer, ich bin wirklich dankbar für Ihren freundlichen und schnellen Kommentar!
Sie müssten verbunden werden oder sie könnten es nicht programmieren, Sie können 8-Draht-JTAG oder SWD im selben Anschluss verwenden. SWD verwendet zwei Drähte und Sie benötigen auch Masse (es hilft auch, VCC zu haben)
@laptop2d Die beiden von Ihnen erwähnten Drähte sind SWDIO und SWCLK. Verstehe ich das richtig? Ich habe es geschafft, GND zu finden, bin mir aber nicht ganz sicher, welches Vcc ist. Mein einziges Wissen ist, dass Vcc als Pegelumsetzer in SWD verwendet wird, aber ich weiß nicht, wie ich sicherstellen kann, welcher es ist ... Es gibt jedoch einen 5-V-Pin (dieser Pin in der unteren rechten Ecke, der mit a verbunden ist sehr dicker Draht) kann man davon ausgehen, dass es sich um einen SWD-Vcc-Pin handelt?
@Jimmy.D Ohne einen Schaltplan Ihrer Platine gibt es keine Möglichkeit, dies zu wissen. Wenn Sie keinen Schaltplan haben, müssen Sie einen von Ihrer Leiterplatte zurückentwickeln.

Antworten (2)

Verwenden Sie ein Multimeter. Sie werden wahrscheinlich feststellen, dass diese Pins mit den SWD-Pins verbunden sind . Beachten Sie, dass PA14 eindeutig zu einer Durchkontaktierung führt, die dann entlang der Unterseite der Leiterplatte verläuft.

PA13 verläuft höchstwahrscheinlich unter dem Mikro und in eine Durchkontaktierung und verläuft auch durch die untere Schicht zum SWD-Header.

Nur weil man etwas von oben betrachtet und keinen Zusammenhang erkennen kann , heißt das nicht, dass es nicht da ist. Siehe PA14. Sehen Sie eine logische Möglichkeit, eine Spur zu den SWD-Header-Pins auf der obersten Ebene zu führen? Nein, Sie müssten viele Spuren überqueren, was Sie einfach nicht tun können. Aus diesem Grund werden Durchkontaktierungen verwendet, damit die Leiterbahn auf der anderen Seite der Leiterplatte fortgesetzt werden kann.

Sie sollten niemals auf eine Leiterplatte schauen und davon ausgehen, dass sie nicht angeschlossen ist, weil Sie auf der Oberseite einer Platine keine Spur sehen können. Nimm ein Multimeter und prüfe auf Durchgang. Ich vermute, Sie werden feststellen, dass es da eine Verbindung gibt.

Es gibt tatsächlich 6 SWD-Pins, die für die Programmierung verwendet werden (wenn Sie über SWD programmieren), nämlich V +, GND, RST, SWIO, SWCLK und SWO. Wenn dieses Board über SWD programmiert wurde, gibt es viele vorgefertigte Flachkabel, die für die Programmierung verwendet werden, wie zum Beispiel dieses:

Geben Sie hier die Bildbeschreibung ein

Und der Programmierer hat eine vorgefertigte Pinbelegung, der der Designer folgen muss. Das ist die wahrscheinliche Erklärung für die zusätzlichen Pins auf dem Header. Es hängt normalerweise vom verwendeten Programmierer ab, welcher Header im Design verwendet wird.

Vielen Dank für Ihre ausführliche Antwort! Nachdem ich Ihre Antwort und den Kommentar von Arsenal gelesen habe, habe ich mein Multimeter verwendet und die Kontinuität dieser Stifte herausgefunden. Auch Ihr Einblick in die SWD-Programmierung hat meine Verwirrung wirklich beleuchtet! Ich danke dir sehr!
Froh, dass ich Helfen kann. Obwohl die Antwort von @jeroen3 eine bessere Beschreibung der SWD-Programmierungsseite enthält als meine.

Deine Recherche ist richtig. SWD kann nicht neu zugeordnet werden, aber die Pins können anderweitig verwendet werden.

Der Stecker ist nicht genormt. Typischerweise wird der 10-polige SWD-Stecker (häufig mit 1,27-mm-Raster) für ARM JTAG/SWD verwendet.

Um mit dem Chip zu kommunizieren, benötigen Sie 4 Pins.
Ziel gnd und vcc und SWDIO, SWDCLK. Die Programmierer verwenden Ziel-Vcc für ihre Pegelumsetzer. Da viele ARM-Targets mit einer Spannung von 1,8 bis 5 Volt betrieben werden können.

Der Reset-Pin ist nicht erforderlich, es sei denn, die Pins werden im Benutzercode anderweitig verwendet. B. intern vom Debug-Peripheriegerät getrennt.

Beliebte Programmierer sind der ST Link für STM32- und STM8-Chips. Oder Segger für verschiedene Marken.

Vielen Dank für Ihre zusätzlichen Informationen über SWD! 😄😄 Ich würde euch allen gerne zustimmen, aber mein Repräsentant ist nicht genug 😢 Sieht so aus, als hätten mich all diejenigen geblendet, die damit prahlen, SWD mit nur zwei Pins im Datenblatt verwenden zu können. Ich werde meine Nachforschungen in zukünftigen Arbeiten gründlicher anstellen🤦