Ich mache zum ersten mal ein SWD Interface für einen ARM (STM32F405). Deswegen wollte ich nachfragen, ob das so in Ordnung ist? Die Labels würden so direkt zum µC gehen, VDD = 3V3 Bei der Beschaltung hätte ich mich an den Angaben von Keil gerichtet http://www.keil.com/support/man/docs/ulink2/ulink2_hw_connectors.htm
ARM schrieb im Beitrag #4538144: > Deswegen wollte ich nachfragen, ob das so in Ordnung ist? Ja, passt. Habe zwar hier nur einen SAM4E als Vergleich, aber da haben wir es genauso verdrahtet wie bei dir, und das Board hat so funktioniert. [TRACE]SWO ist übrigens optional.
Jörg W. schrieb: > [TRACE]SWO ist übrigens optional. Weiß ich. Aber wenn ich schon einen 10-poligen Wannenstecker spendiere, dann führ ich das auch noch raus ;)
Wenn Du nicht unbedingt an die offizielle Belegung von ARM gebunden bist, finde ich es oft sinnvoll auch noch eine UART mit rauszuführen. Das ist fürs Debugging oft einfacher umzusetzen als das mit SWO zu machen (und geht auch beim Cortex-M0 der kein SWO hat). Ich hab mir dafür ne eigene Belegung mit 8 Pins ausgedacht und führe das auf einen 8-Pin Micromatch-Stecker (SMD-Typ). Später in der Serienproduktion wird dann der Micromatch einfach weggelassen und die Pads des Micromatch mit Pogopins kontaktiert. Dadurch muss ich zwischen Prototyping und Serie das Layout nicht mehr anpassen und komme dennoch ohne unnötige THT-Löcher in der Nähe des µC aus die mir das Routing erschweren würden.
:
Bearbeitet durch User
ARM schrieb im Beitrag #4538168: > Weiß ich. Aber wenn ich schon einen 10-poligen Wannenstecker spendiere, > dann führ ich das auch noch raus ;) Nun ja, wenn du so ein Teil partout verwenden willst. Ich neige eher dazu, einen deutlich kleineren Verbinder zu nehmen. Wenn du keine kilometerlangen Drähte benutzt, dann reicht ein einziger Massekontakt völlig aus. Mit nem 5 poligen Steck im 1.25er Raster kommst du zurecht. W.S.
W.S. schrieb: > Ich neige eher dazu, einen deutlich kleineren Verbinder zu nehmen. Naja, die bei Cortex-M genormten 2x5 mit 1,27 mm Raster sind ja nun wirklich schon eher popelig, und sie werden halt von den Tools direkt unterstützt – hätte ich jetzt gedacht, aber STlink scheint da noch nicht angekommen zu sein. Da hat Atmel überholt … Bei Segger kostet halt der Adapter dann nur nochmal gut Geld.
Nur der Ordnung halber, falls irgend jemand das für ein nicht STM32 Controller kopiert: Der STM32 hat interne Pullup/Pulldown Widerstände an den SWD Pins, damit die SWD Leitungen ein definiertes Potential haben auch wenn kein Debugger angeschlossen ist. Dieses Feature haben nicht alle Cortex-M3 Chips! Bei einem Port auf einen anderen Chip unbedingt das Datenblatt konsultieren und gegebenenfalls die Pullup/Pulldown Widerstände einsetzen.
Nils P. schrieb: > Bei einem Port auf einen anderen Chip unbedingt das Datenblatt > konsultieren Kannst du auch die Sprechzeiten der diversen Datenblätter für eine möglicherweise notwendige Konsultation angeben?
Gerd E. schrieb: > Wenn Du nicht unbedingt an die offizielle Belegung von ARM > gebunden > bist, finde ich es oft sinnvoll auch noch eine UART mit rauszuführen. > Das ist fürs Debugging oft einfacher umzusetzen als das mit SWO zu > machen (und geht auch beim Cortex-M0 der kein SWO hat). > > Ich hab mir dafür ne eigene Belegung mit 8 Pins ausgedacht und führe das > auf einen 8-Pin Micromatch-Stecker (SMD-Typ). Später in der > Serienproduktion wird dann der Micromatch einfach weggelassen und die > Pads des Micromatch mit Pogopins kontaktiert. Dadurch muss ich zwischen > Prototyping und Serie das Layout nicht mehr anpassen und komme dennoch > ohne unnötige THT-Löcher in der Nähe des µC aus die mir das Routing > erschweren würden. Ich hab das von dir schon irgendwo gelesen, finde den Link aber jetzt nicht mehr. Das ist nur ein kleines Studentenprojekt mit 2 Platinenen, die produktiv eingesetzt werden, und nochmal 2-3 die herumliegen um genutzt zu werden. Ich muss nur schauen, dass ich vom Platz hinkomme. Aber genau deswegen dachte ich, es sei sinnvoller, irgendwie was normiertes zu nutzen. Für den Lauterbach und den J-Link brauch ich so und so einen Adapter. Die einzige andere Anschlussbelegung ist meiner Meinung nach die von frei verfügbaren ST-Links (10-polig) für wenig Geld. Aber Danke nochmal für den Hinweis. Vielleicht kannst den Artikel ja nochmal verlinken ;)
ARM schrieb im Beitrag #4538875: > Ich muss nur schauen, dass ich vom Platz hinkomme. > Aber genau deswegen dachte ich, es sei sinnvoller, irgendwie was > normiertes zu nutzen. Ich würde sagen genau das Gegenteil. Desto mehr Platz Du zur Verfügung hast, desto einfacher passt Da ein Standardstecker rein. Wenn Du kaum Platz hast, muss eine Speziallösung her die gerade so reinpasst. Wenn es wirklich eng wird, kannst Du natürlich auch auf Signale verzichten. Das absolute Minimum ist nur SWCLK und SWDIO. Sinnvoll ist auch noch ein GND und das Hardware-Reset mitzuführen. Alles andere macht die Nutzung nur bequemer. > Für den Lauterbach und den J-Link brauch ich so > und so einen Adapter. Die einzige andere Anschlussbelegung ist meiner > Meinung nach die von frei verfügbaren ST-Links (10-polig) für wenig > Geld. Solange sich das auf 2,54-Raster abspielt, ist so ein Adapter doch mit etwas Lochraster in ner Viertelstunde gemacht. Wenn man nicht gerade bei jedem Projekt ne andere Belegung verwendet sehe ich da auch keinen unnötigen Aufwand drin. So viele verschiedene Programmer wirst Du ja auch nicht verwenden wollen. > Aber Danke nochmal für den Hinweis. Vielleicht kannst den Artikel ja > nochmal verlinken ;) Keine Ahnung ob ich das irgendwo schon mal im Detail gezeigt habe. Anbei mal nen schneller Screenshot aus einem Layout von mir. An Position 6 kommt SWO, das hier ist aber von nem Projekt mit Cortex-M0 und da gibts den nicht, daher unbelegt. Als Alternative gibt es noch diese Belegung hier von mmvisual hier aus dem Forum: https://www.mikrocontroller.net/articles/JTAG#Der_10-polige_JTAG_Stecker_von_mmvisual_.28ARM.2C_Cortex.2C_Seriell_kombiniert.29 Den kann man auch für klassisches JTAG und nicht nur für SWD verwenden. Aber dafür halt 2 Pins mehr. Irgendwann geht halt doch der Platz auf der Platine aus, und da fand ich meine Lösung mit dem 8-Pin Micromatch bisher eigentlich nen guten Kompromiss. Kleiner wird es nur mit Steckern im 1,27er-Raster ohne Wannen, dann brauchst Du wieder extra Verpolschutz und bist auch wieder bei 10 Pins. Und um SMD-Pads im 1,27er Raster hinterher in der Produktion mit Pogopins zuverlässig zu kontaktieren, musst Du einen aufwändigeren Halter bauen als ich ihn verwende.
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.