Forum: Compiler & IDEs Arduino IDE + STM32duino, mit J-Link Debuggen


von Hans W. (hanswieland)


Lesenswert?

Wenn ich als "Upload Methode" den J-Link einstelle und dann eine 
Debugger-Sitzung starte, meckert er im Log, daß er keinen ST-Link finden 
kann. Schließe ich dann einen ST-Link an, startet das Debugging 
erfolgreich. Ich habe versucht, ein neues Projekt anzulegen, aber das 
hat nichts gebracht.

Ich habe noch keinen J-Link gekauft, will mich erst vergewissern, dass 
er unterstützt wird. Momentan sieht es eher nicht danach aus. Das ist 
aber seltsam, denn OpenOCD unterstützt den J-Link prinzipiell und 
Arduino empfiehlt ihn sogar für einige Arduino Boards.

Bevor ich mich an etwas unmöglichem aufhänge: Hat schon mal jemand einen 
J-Link zum Debuggen von STM32 in der Arduino IDE verwendet? Geht das?
: Bearbeitet durch User
von N. B. (charlie_russell)


Lesenswert?

Welchen Vorteil erhoffst du dir von einem J-Link wenn ein ST-Link 
bereits mit deiner Toolchain funktioniert (STM32duino???)?

Fake ST-Link V2 kosten 5€.
Orginal St-Link V3mods für 10€.
Orginal ST-Link v3 gibt es für 50€. Für 70€ gibt es den ST-Link v2 
isolated.
von Hans W. (hanswieland)


Lesenswert?

N. B. schrieb:
> Welchen Vorteil erhoffst du dir von einem J-Link wenn ein ST-Link
> bereits mit deiner Toolchain funktioniert (STM32duino???)?

Keinen, es ist reine Neugier. Es macht mir Spaß, Mikrocontroller und 
Tools zu erforschen.
: Bearbeitet durch User
von Hans W. (hanswieland)


Lesenswert?

Jetzt habe ich die Antwort doch noch in der Doku gefunden:

> Note
> Requires a ST-Link/V2 or ST-Link/V3 device connected to the PC
> over USB and to the board via the SWD interface.

https://github.com/stm32duino/Arduino_Core_STM32/wiki/How-to-debug#arduino-ide-2-supported-and-recommended-way
: Bearbeitet durch User
von Wastl (hartundweichware)


Lesenswert?

Hans W. schrieb:
> Keinen, es ist reine Neugier. Es macht mir Spaß, Mikrocontroller und
> Tools zu erforschen.

Wenn du mit einer "gescheiten" IDE arbeiten würdest, könntest
(würdest du müssen) einiges mehr lernen und würdest sogar damit
belohnt einen J-Link Debugger verwenden zu können.
von Hans W. (hanswieland)


Lesenswert?

Wastl schrieb:
> Wenn du mit einer "gescheiten" IDE arbeiten würdest

Stelle dir vor, sich für die Arduino IDE zu interessieren schließt nicht 
aus, sich auch für andere zu interessieren. Tatsächlich habe ich mehrere 
andere IDE vor Arduino benutzt, sogar mehrere. Von dort weiß ich auch 
(ohne es nachlesen zu müssen), dass das von Arduino genutzte openocd den 
J-Link unterstützt.

Abgesehen davon: Was für deine Anwendungsfälle die beste Wahl ist, muss 
noch lange nicht für andere gelten. Arduino hat sich schon lange 
etabliert, das wirst du mit Schlecht-Reden nicht mehr weg bekommen.

PS: Ich werde hier häufig als Arduino-Basher bezeichnet. Nur mal so zur 
Einordnung.
: Bearbeitet durch User
von Hans-Georg L. (h-g-l)


Lesenswert?

Hans W. schrieb:
> Jetzt habe ich die Antwort doch noch in der Doku gefunden:
>
>> Note
>> Requires a ST-Link/V2 or ST-Link/V3 device connected to the PC
>> over USB and to the board via the SWD interface.
>
> 
https://github.com/stm32duino/Arduino_Core_STM32/wiki/How-to-debug#arduino-ide-2-supported-and-recommended-way

Als alternative kannst du dir auch den STLINK clone von weact-studio bei 
ALI bestellen. Den kannst dann auf STLINK V2.1, das ist der auf den 
Nucleo Bords verbaute, updaten und dann nach belieben auf JLINK 
umflaschen und wieder zurück. Dann hast du das serial Port gleich dabei. 
Beim Update das Häkchen für "Mass storage" setzen nicht vergessen. 
Jlink lädt scheller.
Das umflashen der Nucleo Boards auf JLink ist völlig legal. ST hat dafür 
ein Abkommen mit Segger und du kannst dort das Tool zum umflashen 
herunter laden.  Die Weact Clones sind handlicher wie die am Nucleo 
abgebrochenen STLINK.
von Hans W. (hanswieland)


Lesenswert?

Hans-Georg L. schrieb:
> Das umflashen der Nucleo Boards auf JLink ist völlig legal

Warum sollte ich das tun? Dann geht die Arduino IDE ja nicht mehr. Das 
bisschen Geschwindigkeit ist für mich als Bastler kein Argument.
von Hans-Georg L. (h-g-l)


Lesenswert?

Hans W. schrieb:
> Hans-Georg L. schrieb:
>> Das umflashen der Nucleo Boards auf JLink ist völlig legal
>
> Warum sollte ich das tun? Dann geht die Arduino IDE ja nicht mehr. Das
> bisschen Geschwindigkeit ist für mich als Bastler kein Argument.

Wenn die JLINK unterstützt funktioniert das auch ...
Ich hatt mit VScode noch nie Probleme auch nicht mit dem original JLInk.
Du must natürlich die Segger Treiber und Software installieren.

Du musst nur täglich einmal die Lizenzbestimmumgen bestätigen.
: Bearbeitet durch User
von Hans W. (hanswieland)


Lesenswert?

Hans-Georg L. schrieb:
> Wenn die JLINK unterstützt funktioniert das auch

Tut sie aber nicht. Ist das so schwer zu begreifen?
von Hans-Georg L. (h-g-l)


Lesenswert?

Hans W. schrieb:
> Wenn ich als "Upload Methode" den J-Link einstelle und dann eine
> Debugger-Sitzung starte, meckert er im Log, daß er keinen ST-Link finden
> kann. Schließe ich dann einen ST-Link an, startet das Debugging
> erfolgreich. Ich habe versucht, ein neues Projekt anzulegen, aber das
> hat nichts gebracht.

Dann wird die IDE automatisch auf ST-Link zurückschalten weil sie keinen 
J-Link (Treiber?) findet. Und das nur halbherzig oder der Log Text ist 
einfach falsch.
Warum sollte sie Jlink als Auswahl anbieten wenn sie es nicht 
unterstützt ???
War ja nur ein Vorschlag wie du J-Link testen kannst, bevor du ihn 
kaufst.
von Hans W. (hanswieland)


Lesenswert?

Hans-Georg L. schrieb:
> Warum sollte sie Jlink als Auswahl anbieten wenn sie es nicht
> unterstützt ???

Weil sie den J-Link zum Upload unterstützt.

Hans-Georg L. schrieb:
> Dann wird die IDE automatisch auf ST-Link zurückschalten weil sie keinen
> J-Link (Treiber?) findet.

Man merkt, dass du davon noch weniger Ahnung hast als ich.
von Hans-Georg L. (h-g-l)


Lesenswert?

Da du gleich immer so pampig wirst werde ich in Zukunft nicht mehr 
versuchen dir bei irgend etwas zu helfen !!! Das wars von mir ...
von Hans W. (hanswieland)


Lesenswert?

Hans-Georg L. schrieb:
> Das wars von mir ...

Danke
von Vanye R. (vanye_rijan)


Lesenswert?

> (würdest du müssen) einiges mehr lernen und würdest sogar damit
> belohnt einen J-Link Debugger verwenden zu können.

Klingt nach Bullshit. Ich benutze J-Link andauernd und das im Makefile. 
Wenn das also geht dann geht es mit jeder Ide wo du die Moeglichkeit 
hast den Aufruf zu konfigurieren.

Vanye
von Harald K. (kirnbichler)


Lesenswert?

Vanye R. schrieb:
> Ich benutze J-Link andauernd und das im Makefile.

Dann aber offenbar nur zum Programmieren, nicht aber zum Debuggen. Das 
sind zwei sehr unterschiedliche Paar Schuhe.
von Vanye R. (vanye_rijan)


Lesenswert?

> Dann aber offenbar nur zum Programmieren, nicht aber zum Debuggen. Das
> sind zwei sehr unterschiedliche Paar Schuhe.

Du kannst auch mit make gdb den debugger starten und dich mit dem jlink 
stub/daemon verbinden. .-)

Aber ich gebe zu das ich das bei "normalen" Problemen auch gerne aus 
Eclipse mache!

Der Punkt ist halt das Segger ihren Kram so gut dokumentiert haben das 
man eigentlich alles mit allem ans laufen bringen kann wenn man die Doku 
nur liesst. Ich hab mir auch schonmal eine Software geschrieben die sich 
mit dem debugger verbindet und mir im laufenden Betrieb Speicherstellen, 
also Variablen, ausliesst. Segger bietet ja auch sowas an, aber meine 
Software laeuft unter Linux. .-)

Vanye
von Hans-Georg L. (h-g-l)


Lesenswert?

Hier erklärt ein Segger Mitarbeiter wie debuggen mit Jlink und der 
Arduino  IDE geht.
https://www.youtube.com/watch?v=oLUd3A3ofrI Teil2
von Mi N. (msx)


Lesenswert?

Hans-Georg L. schrieb:
> Hier erklärt ein Segger Mitarbeiter wie debuggen mit Jlink und der
> Arduino  IDE geht.

Die eingeblendete Werbung ist unerträglich. Wen will man mit so einem 
Video ansprechen?
von Thomas W. (datenreisender)


Lesenswert?

Mi N. schrieb:
> Hans-Georg L. schrieb:
>> Hier erklärt ein Segger Mitarbeiter wie debuggen mit Jlink und der
>> Arduino  IDE geht.
>
> Die eingeblendete Werbung ist unerträglich. Wen will man mit so einem
> Video ansprechen?

Frag Google (der Urheber des Videos hat keinen Einfluss auf die 
Werbung). Aber ich kann Dir Adblock Plus und/oder uBlock Origin 
empfehlen.

Ohne Ad-Blocker ist das Internet nicht mehr nutzbar.
von Hans-Georg L. (h-g-l)


Lesenswert?

Ich benutze "Adblock Plus - kostenloser Adblocker 4.38.3" und sehe keine 
Werbung, sonst hätte ich auch gewarnt.
Nachtrag: Und die bescheuerten Untertitel kann man auch abschalten.
: Bearbeitet durch User
von Hans W. (hanswieland)


Angehängte Dateien:

Lesenswert?

Leider startet der STM32Duino Core den gdb-server immer mit einer 
Konfiguration für ST-Link. Die Einstellung des Programmieradapter wirkt 
sich nur auf dem Upload auch. Auch wenn ich genau nach dieser Anleitung 
vorgehe, klappt es nicht: 
https://docs.arduino.cc/tutorials/mkr-wifi-1010/mkr-jlink-setup/

Wie gesagt deckt sich das auch mit dem Hinweis von vor einer Woche:

Hans W. schrieb:
>> Note
>> Requires a ST-Link/V2 or ST-Link/V3 device connected to the PC
>> over USB and to the board via the SWD interface.

> 
https://github.com/stm32duino/Arduino_Core_STM32/wiki/How-to-debug#arduino-ide-2-supported-and-recommended-way
: Bearbeitet durch User
von Hans W. (hanswieland)


Lesenswert?

Vanye R. schrieb:
> Der Punkt ist halt das Segger ihren Kram so gut dokumentiert haben das
> man eigentlich alles mit allem ans laufen bringen kann wenn man die Doku
> nur liesst.

Segger unterstützt die Arduino IDE nicht, das hat mir deren Support 
mitgeteilt. Sie wollen es aber ausprobieren und sich dann bei mir 
melden.
von Mi N. (msx)


Lesenswert?

Thomas W. schrieb:
> Aber ich kann Dir Adblock Plus

Hans-Georg L. schrieb:
> Ich benutze "Adblock Plus


Da ich mir kaum diese geschwätzigen Filme ansehe, hatte ich mich 
garnicht um einen Werbeblocker gekümmert.
Danke für den Tipp - so ist es jetzt richtig gut!
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.