Forum: Mikrocontroller und Digitale Elektronik STM32 verbinden via STLINK und SWD klappt nicht


von Tom F. (tomfox)


Angehängte Dateien:

Lesenswert?

habe dieses Board erstanden und wollte mich mit SWD verbinden :

Ebay-Artikel Nr. 311156408508

Leider lässt sich das Board nicht verbinden obwohl es anscheinend 
erkannt wird (wie man im Screenshot sieht)

Den ST Link Treiber habe ich upgedated auf die Version "V2.J23.S4"

Habe ich etwas falsch gemacht ?
Wer hat Tipps was ich sonst noch machen kann ?

von holger (Gast)


Lesenswert?

>Wer hat Tipps was ich sonst noch machen kann ?

Gib dem Board mal ne eigene Stromversorgung.

von Stefan (Gast)


Lesenswert?

Ich würde das Kabel kürzen. Auf 15-20cm vielleicht.

von Stefan (Gast)


Lesenswert?

Nochmal nachgedacht:

Bei den Flachbandkabeln könnten 20cm schon zuviel sein. Mein J-Link 
Kabel kommt mit Adapter auf SWD auf diese Länge. Da ist aber auch je 
eine GND Leitung zwischen jeder Signalleitung. Das verringert das 
Übersprechen.

Also so kurz wie möglich und bei kurzen Leitungen habe ich es mir 
angewöhnt keine Flachbandkabel zu nehmen sondern einzelne Schaltlitzen. 
Sieht gar nicht so wild aus und die Litzen brechen nicht so schnell an 
den Stift/Buchsenleisten.

von Uwe Bonnes (Gast)


Lesenswert?

Mehrere parallele Masseleitungen helfen auch des oefteren...

von Detlef K. (adenin)


Lesenswert?

Um auszuschießen, dass es das Kabel ist, kann man ja die SWD-Frequenz 
probeweise auf einen kleineren Wert setzen,

von Bernardo F. (bernardo)


Lesenswert?

Hallo Tom,
Holger hat's bereits erwähnt: das Board muss zusätzlich über USB 
versorgt werden.
Viele Grüße
Bernardo

von Tom F. (tomfox)


Angehängte Dateien:

Lesenswert?

Danke für die Tipps

folgendes habe ich gemacht:

- die kabel auf 10cm gekützt und Einzellitzen genommen
- extra Spannungsversorgung mit Anschluss an verschiedenen Groundpins
- Wenn ich die SWD Frequenz heruntersetze kommt eine ähliche 
Fehlermeldung

Fazit:

immernoch dasselbe problem.

Ich habe auch an dem anderen Board auf dem Bild dasselbe Problem

Woran kann es noch liegen ?

von chris (Gast)


Lesenswert?

verbinde auch mal noch den RESET-Pin.
Eigentlich sollte der soweit ich weiß bei SWD unnötig sein, aber bei mir 
gings auch mal nur mit verbundenem RESET

von Franz F. (franzman)


Lesenswert?

Hallo,

ich hatte auch mal das selbe Problem.
Bin zwar auf keine Ursache gekommen, geholfen haben aber 15pF an SWCLK 
und SWDIO. Bin durch zufall draufgekommen, immer wenn das Oszi an den 
beiden Signalen hing, hats funktioniert.

ich hatte immer komische "halbpegel" an swdio, hat ein bisschen so 
ausgesehen, als würden Programmer und das Gerät welches Programmiert 
werden sollte gleichzeitig die Ausgänge treiben. Hab dann irgendein 
falsches Timing wegen den langen Kabeln vermutet. Probier auch mal die 
15pF

von Weihnachtsmann (Gast)


Lesenswert?

Franz F. schrieb:
> ich hatte immer komische "halbpegel" an swdio, hat ein bisschen so
> ausgesehen, als würden Programmer und das Gerät welches Programmiert
> werden sollte gleichzeitig die Ausgänge treiben. Hab dann irgendein
> falsches Timing wegen den langen Kabeln vermutet. Probier auch mal die
> 15pF

Frohe Weihnachten

von Stefan (Gast)


Lesenswert?

Steckt der STlink direkt am PC? Programmiergeräte o.ä. an einem USB Hub 
machen bei mir Probleme.

von Tom F. (tomfox)


Lesenswert?

next try:

- habe die 15pF Kondensatoren an SWDIO und SWCLK spendiert: keine 
Änderung
- habe mal Testweise die RST mit verbunden: keine Änderung
- der Programmer hängt dierekt am PC

die Flanken der Signale von SWDIO und SWCLK am Oszi sehen ordentlich 
aus.
d.h. ich sehe Rechteckimupulse 0 - 3.2 Volt

was mir am SWDIO-Signal auffällt ist dass kurz bevor- oder mit Anzeige 
der Fehlermeldung das Signal für ca. 100ms auf 1 Volt geht.


Was kann ich noch tun ?

von Detlef K. (adenin)


Lesenswert?

Vielleicht ist ein Programm auf deinem STM, dass die Ports benutzt, oder 
JTAG und SWD werden per Software abgeschaltet.

von Tom F. (tomfox)


Lesenswert?

Detlef Kunz schrieb:
> Vielleicht ist ein Programm auf deinem STM, dass die Ports benutzt, oder
> JTAG und SWD werden per Software abgeschaltet.

deshalb habe ich das andere Board (auf dem Bild das Untere)
da weiss ich sicher was drauf ist.
Das lässt sich mit JTAG flashen, aber mit SWD auch nicht.

hab jetzte schon zigmal die Pins am ST_Link Stecker überprüft (sollten 
Pin 7 und Pin 9 sein)
ausserdem habe ich den 2 Signalen zusätzlich zu den C's noch pullups 
(100k) spendiert

hilft alles nichts :-(


so langsam bin ich am verzewifeln

von Dispol (Gast)


Lesenswert?

Ist Pin19 am ST-Link richtig?
http://www.st.com/st-web-ui/static/active/en/resource/technical/document/user_manual/DM00026748.pdf
Kapitel 3.2
rechte Spalte (SWD)
Muss das nicht an PIN1&2 MCU VDD?

von Tom F. (tomfox)


Lesenswert?

Dispol schrieb:
> Ist Pin19 am ST-Link richtig?
> 
http://www.st.com/st-web-ui/static/active/en/resource/technical/document/user_manual/DM00026748.pdf
> Kapitel 3.2
> rechte Spalte (SWD)
> Muss das nicht an PIN1&2 MCU VDD?

Das dachte ich auch, aber an Pin1 und Pin2 habe ich nur 1.5 Volt 
gemessen

Pin 19 ist der einzige Pin mit konstanten 3.3 V

macht das denn einen Unterschied wo die Versorgungsspannung herkommt ?

von Detlef K. (adenin)


Lesenswert?

Hmm, ich hab die Beschreibung des ST-Link mal angesehen.

Also an Pin 19 kommen 3.3V raus. Die kannst Du benutzen.
Du solltes aber in diesen Fall mal versuchen Pin 1 mit Pin 19 zu 
verbinden.
Pin 1 --> TVcc (Target-Spannung) speist wahrscheinlich rückwärts die 
Treiber des ST-Link (damit die Pegel zur Boardspannung passen).

ST-Link ist wohl ein kleines bisschen anders als normales JTAG.

von Tom F. (tomfox)


Lesenswert?

Detlef Kunz schrieb:
> Du solltes aber in diesen Fall mal versuchen Pin 1 mit Pin 19 zu
> verbinden.


Du bist der Superheld des Tages

Es lööööööft !!!!
Jetzt geht es sogar mit meinem initialen langem Flachbandkabel


Da wär ich nie darauf gekommen

Wo steht denn das Pin 1 rückwärts 3.3 Volt braucht ?



Vielen Dank , Problem gelöst

von Detlef K. (adenin)


Lesenswert?

Tom Fox schrieb:
> Wo steht denn das Pin 1 rückwärts 3.3 Volt braucht ?

Reine Deduktion.
Elementar, mein lieber Watson.

von Jim M. (turboj)


Lesenswert?

Tom Fox schrieb:
> Da wär ich nie darauf gekommen
>
> Wo steht denn das Pin 1 rückwärts 3.3 Volt braucht ?

Das sollte im Handbuch stehen, denn mit diesem Pin werden die JTAG 
Spannungspegel festgelegt. Es gibt ja z.B. auch MCUs die mit 1,8 Volt 
laufen.

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
Noch kein Account? Hier anmelden.