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.
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.