Forum: Mikrocontroller und Digitale Elektronik STM32 debuggen mit dem Discovery-Board ST-Link


von Moritz M. (avrprogger)


Lesenswert?

Moin,

Ich versuche grade den ST-Link vom STM32F4Discovery-Board zu verwenden, 
um damit eine externes Board zu debuggen. Ich habe VDD, GND, SWDIO, 
SWCLK verbunden und die Jumper auf dem Discovery-Board abgezogen. Nur 
leider bekomme ich im ST-Link Utility nur eine Fehlermeldung

"Can not connect to target"

Es handelt sich dabei um ein STM32F407IG Controller (XCore407I Board von 
Waveshare). Revision ist wahrscheinlich Z, soweit ich das auf dem 
Gehäuse erkennen kann.
Wenn ich den Debugger über Kabel an die gleichen Pins des Controllers 
auf dem Discovery Board anschließe funktioniert es. Hat jemand vllt. 
schon mit einem Discovery-Board ein anderen Controller gedebuggt und hat 
ein paar Tipps? Braucht man vllt. Pull-Up/Down Widerstände oder so?

Moritz

von Matthias (Gast)


Lesenswert?

Genau so habe ich das zwar noch nie gemacht aber mir geht zumindest noch 
das RESET Signal ab. Ist dein Zielsystem ordentlich selbst mit Strom 
versorgt?

von Uwe Bonnes (Gast)


Lesenswert?

Die Jumper auf CN4 sind abgezogen?

Wie ist die Masseverbindung zwischen den Boards. Viel hilft hier viel, 
b.z.w bei zu wenig kann es Probleme geben...

von Moritz M. (avrprogger)


Lesenswert?

Also wie gesagt, die Jumper habe ich abgezogen und der Debugger wird vom 
Target-Board mit 3V versorgt. Reset ist ja nicht unbedingt nötig.

Moritz

von Matthias (Gast)


Lesenswert?

"Reset ist ja nicht unbedingt nötig."

Da wärst du überrascht.

von Felix G. (felixg)


Lesenswert?

Ich mache es genauso wie du. Jumper gezogen, SWDIO, SWCLK und GND an den 
externen µC. Den externen µC betreibe ich dabei mit einer eigenen 
Spannungsquelle. Funktioniert bei mir wunderbar.

Wo ich manchmal Probleme habe, ist wenn die SWCLK Leitung zu nahe an der 
SWDIO Leitung liegt. Da kommt dann auch keine Kommunikation zu Stande.

Vlt. hilft das ja...

von Moritz M. (avrprogger)


Lesenswert?

Hab grade mal die SWD-Schnittstelle an mein Oszilloskop gehangen. Was 
mir ein wenig komisch erscheint, ist dass die Datenleitung SWDIO immer 
auf High (3.3V) gezogen wird. Wenn ich dann Connect drücke, gibt es ein 
paar (sehr) kleine Peaks zu sehen (3.3V - 4V). Muss evtl. an die 
Datenleitung ein Pull-Down Widerstand?

Moritz

von Ert (Gast)


Lesenswert?

Im Schaltplan vom STM4Discovery ist doch ein Schaltplan dabei wie ST das 
löst... Alle Leitungen mit einem Pullup an 3,3V...

Und nutze den Reset. Der ist Notwendig.

Greez Ert

von Moritz M. (avrprogger)


Lesenswert?

Im User-Manual vom STM32F4 Discovery steht, dass die Lötbrücke SB11 
entfernt werden muss, wenn der Reset-SWD-Pin verwendet wird. Ist das 
wirklich notwendig? Oder muss die nur weg, damit der eigene 
Discovery-Controller nicht immer zurück gesetzt wird, wenn man einen 
anderen Controller programmiert/debuggt? Aus den Schaltplänen werde ich 
grade nicht so richtig Schlau. Habt ihr das gemacht?

Moritz

von Moritz M. (avrprogger)


Lesenswert?

OK. Es Funktioniert.
Wenn ich die zwei Jumper bei CN3 gesteckt lasse und den Idd Jumper 
abziehe kann ich meinen Controller erreichen. Wenn ich dann die 
Stromversorgung von diesem Controller auch kappe. Gibt es logischerweise 
einen Fehler. Das ganze funktioniert außerdem ohne Reset Leitung. Mal 
sehn wie das mit dem Programmieren dann ist.

Moritz

von Armin J. (arminj)


Lesenswert?

Ich hab die beiden Jumper für die (interne) St Link Connection gezogen,
Masse, Clock und Data mit dem zu programmierenden Board verbunden,
Beide separat bestromt (beide über USB) und es tat's auf Anhieb.
Reset war definitiv nicht nötig!
Die Leitungen verliefen alle parallel (Flachbandkabel) und waren 30 cm 
lang,
das ist also auch unkritisch.

Armin

von Armin J. (arminj)


Lesenswert?

Kleine Korrektur, da war ich zu schnell.
Programmieren ist ohne Verbinden der Resetleitung möglich,
Debuggen geht, wenn man entweder gleich nach dem Starten des Debuggers 
manuell den Reset betätigt, oder eben doch die Reset Leitung verbindet 
:-).

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.