Moin Leute, ich befasse mich seit längerem mit dem Programmieren eines STM32F4 µC. Da die Anwendung steht und ich mich an einem Prototypen probieren möchte, würde ich mir vorher noch gerne ein paar Tipps einholen. Bisher habe ich ein NUCLEO Board mit integrier ST-LINK/V2 Schaltung benutzt. Da meine Platine am besten so klein wie möglich sein sollte habe ich mich am DFU Mode per USB probiert. Der Nachteil hier ist, dass ich leider mein Programm nicht debuggen kann. Was nun JTAG/SWD J-Link ins Spiel bringt. Meine Traumschnittstelle wäre eine, mit der ich mein Programm auf mein Board laden und dies aus mit einem debugger testen kann (eventuell auch kommunikationsschnittstelle?). Wenn ich im STM32CubeMX unter System Core -> SYS für debug "Serial Wire" auswähle, markiert er mir PA13(SYS_JTCK-SWCLK) & PA14(SYS_JTMS-SWDIO). Reichen mir die zwei Pins aus um sie mit einem ST-LINK/V2 zu verbinden und somit flashen und debuggen zu können? Desweiteren habe ich noch die auswahl zwischen JTAG(4pin) und JTAG(5pin). Unterscheiden sich all diese Schnittstellen in ihren Funktionen? Welche bevorzugt ihr und aus welchem Grund? Die mitgelieferten Stecker des ST-LINK/V2 haben alle mehr als 2 pins und ich bin verwirrt was ich nun für Leitungen an meine Programmierschnittstelle ziehen muss. Gruß
Guck doch mal nach "arm jtag 10pin". (Das hat auch eine SWD Pinbelegung) Das im 1,27mm Raster ist doch schön klein.
pegel schrieb: > Masse auch noch, dann klappts. Dann ist es wohl auch sinnvoll beim flashen auch die 3,3v vom st-link zu nutzen oder?
Muss nicht sein. Der originale ST-Link liefert keine Spannung, nur der China Clone.
smrt schrieb: > Reichen mir die zwei Pins aus um sie mit einem ST-LINK/V2 zu verbinden > und somit flashen und debuggen zu können? pegel schrieb: > Masse auch noch, dann klappts. Nicht ganz. Ein Original ST-LINK/V2 prüft auf Versorgungsspannung, deswegen braucht es in den meisten Fällen noch die vierte Leitung, den Monitoring-Pin für Spannungsversorgung.
smrt schrieb: > Dann ist es wohl auch sinnvoll beim flashen auch die 3,3v vom st-link zu > nutzen oder? Ein häufig gemachter Fehler pegel schrieb: > Der originale ST-Link liefert keine Spannung Sehr richtig. pegel schrieb: > nur der China Clone. Und auf den kann man sich nicht verlassen .... Ich kann immmer nicht verstehen wie eine Original-Hardware durch Copy&Paste so verhunzt werden kann. Diese Mentalität ist mir so fremd.
Dumme Frage, aber wofür die JTAG Schnittstelle mit der ich mehrere Leitungen benötige anstatt die SWD die genau das gleiche tut mit 4 pins?
Nach dem programmieren sind diese Pins vorallem floating, sollte ich kein bestimmtes potential vorgegeben haben. Empfiehlt es sich mit Pull-UP/DOWN Widerständen zu arbeiten?
smrt schrieb: > Dumme Frage, aber wofür die JTAG Schnittstelle mit der ich mehrere > Leitungen benötige anstatt die SWD die genau das gleiche tut mit 4 pins? JTAG ist eben auch abseits von ARM verbreitet und daher gewissermaßen der Standard was Debugschnittstellen angeht, weshalb es eben auch von den Cortex-Ms unterstützt wird. Wenn du mit SWD glücklich bist, spricht absolut nichts dagegen es zu nutzen. Ich habe ehrlich gesagt auch noch nie JTAG mit einem ARM genutzt. Anders herum kann man aber einen Debugger der mit JTAG daher kommt und eigentlich für Cortex-M gedacht ist, wie z.B. den ST-Link V2, mittels OpenOCD dazu bewegen einen ESP32 per JTAG zu bespielen.
smrt schrieb: > Dumme Frage, aber wofür die JTAG Schnittstelle mit der ich mehrere > Leitungen benötige anstatt die SWD die genau das gleiche tut mit 4 pins? Erstens geht über JTAG Boundary Scan, zweitens Daisy-Chaining. Braucht man das nicht, tut's SWD auch. Bei manchen STM32 (F0, G0) gibt's von vornherein nur SWD. smrt schrieb: > Nach dem programmieren sind diese Pins vorallem floating, sollte ich > kein bestimmtes potential vorgegeben haben. Empfiehlt es sich mit > Pull-UP/DOWN Widerständen zu arbeiten? Es empfiehlt sich eher, mal das RM zu lesen, etwa für den F411, RM0383: "23.4.3 Internal pull-up and pull-down on JTAG pins".
Da ich in meinem Design für den DFU per USB Kabel noch zusätzlich einen 8MHz Oszillator an den Pins PH1-OSC_IN & PH1-OSC_Out benötigt habe ist nun meine Frage ob ich diesen auch mit einer JTAG Schnittstelle brauche, ist diese im ST-Link/V2 enthalten? Dazu würde ich mir noch einen originales Programmiergerät holen. Außerdem habe ich den an den PINS PC14-PSC_IN & PC15-OSC_OUT einen 32kHz Oszilator, intern benutze ich aber die PLL clock. Dennoch brauche ich diesen Oszilator oder?
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.