Ich habe mein Hardware-Hack-Projekt auf einem Luftqualitätsüberwachungsgerät durchgeführt, das einen STM32L476
Prozessor verwendet.
Meine einzigen Erfahrungen mit Hardware-Hacking sind IPcams oder WLAN-Router mit verfügbaren UART-Konsolen. Aber nach einigem Nachforschen und Versuchen konnte ich keinen Weg finden, mit meiner Airbox zu interagieren.
(Die USART-Pins drucken beim Booten einfach eine UUID aus und dann passiert nichts mehr.)
Ich denke, meine nächstbeste Wette sind diese SWD-Pins. Ich gehe dann weiter, um das Datenblatt von zu erhalten STM32L476
und bin auf dieses Problem gestoßen.
Laut Datenblatt SWDIO
und SWCLK
entspricht Pin PA13
und PA14
kein anderer Pin hat alternative Funktionen, um als SWDIO oder SWCLK zu arbeiten.
Aber schauen Sie genau hin und sind nicht einmal mit den an Bord gekennzeichneten Stiften verbunden .
und sind die einzigen, die Pinbelegungen haben, daher denke ich, dass sie sehr hohe Wahrscheinlichkeiten haben, von Entwicklern als Debugging-Ports verwendet zu 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: ((
PA13
PA14
SWD1
SWD1
USART
Ich bin sehr neu in der Hardware, daher weiß ich nicht, was Hardwareentwickler normalerweise tun. Ist es üblich, dass einige Pins an Bord als A markiert sind, aber wirklich als B funktionieren? Oder habe ich nur einige sehr dumme Fehler gemacht, als ich meine Nachforschungen angestellt habe?
Bearbeiten:
Nachdem ich alle Kommentare und Antworten gelesen hatte, führte ich einige Tests durch und listete einige Merkmale dieser Pins auf:
Ich denke, ich bin gut, um mit dem nächsten Schritt fortzufahren? Es gibt einfach so viel zu lernen, während ich auf das Eintreffen meines ST-Links V2 warte. Vielen Dank an alle, die mir mit größter Freundlichkeit und Hilfe geholfen haben
Antworten:
Verwenden Sie ein Multimeter. Sie werden wahrscheinlich feststellen , dass diese Stifte sind mit dem SWD Pins verbunden. Beachten Sie, dass PA14 eindeutig zu einer Durchkontaktierung führt, die dann entlang der Unterseite der Leiterplatte verläuft.
PA13 läuft höchstwahrscheinlich unter dem Mikro und in eine Durchkontaktierung und läuft auch durch die untere Schicht zum SWD-Header.
Nur weil man etwas von oben sehen und kann nicht sehen , eine Verbindung aufzubauen , bedeutet nicht , dass sie nicht da ist. Schauen Sie sich PA14 an. Können Sie eine logische Methode zum Ausführen einer Spur zu den SWD-Header-Pins auf der obersten Ebene erkennen? Nein, Sie müssten viele Spuren überqueren, was Sie einfach nicht können. Aus diesem Grund werden Durchkontaktierungen verwendet, damit die Spur auf der anderen Seite der Leiterplatte fortgesetzt werden kann.
Sie sollten niemals auf eine Leiterplatte schauen und davon ausgehen, dass sie nicht angeschlossen ist, da Sie auf der Oberseite einer Leiterplatte keine Spur sehen können. Holen Sie sich ein Multimeter und prüfen Sie den Durchgang. Ich vermute, Sie werden feststellen, dass dort eine Verbindung besteht.
Es gibt tatsächlich 6 SWD-Pins, die zum Programmieren verwendet werden (wenn Sie über SWD programmieren), nämlich V +, GND, RST, SWIO, SWCLK und SWO. Wenn diese Karte über SWD programmiert wurde, werden viele vorgefertigte Flachkabel für die Programmierung verwendet, wie zum Beispiel dieses:
Und der Programmierer hat eine vorgefertigte Pinbelegung, der der Designer folgen muss. Dies ist die wahrscheinliche Erklärung für die zusätzlichen Stifte im Header. Es hängt normalerweise vom verwendeten Programmierer ab, welcher Header im Design verwendet wird.
quelle
Ihre Forschung ist richtig. SWD kann nicht neu zugeordnet werden, aber die Pins können anderweitig verwendet werden.
Der Stecker ist nicht Standard. Normalerweise wird für ARM JTAG / SWD der 10-polige SWD-Anschluss (häufig mit einem Abstand von 1,27 mm) verwendet.
Für die Kommunikation mit dem Chip benötigen Sie 4 Pins.
Ziel gnd und vcc sowie SWDIO, SWDCLK. Die Programmierer verwenden Ziel-Vcc für ihre Pegelumsetzer. Da viele ARM-Ziele eine Spannung von 1,8 bis 5 Volt betreiben 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 die ST Link für STM32- und STM8-Chips. Oder Segger für verschiedene Marken.
quelle