Arduino IDE + STM32duino, mit J-Link Debuggen

OP #8053568
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
OP #8055672
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
#8055685
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.

#8055698
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
#8055711
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.

#8056231
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

#8056866
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

Gast #8056926
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.

OP #8056973
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

Angehängte Dateien:
: Bearbeitet durch User

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren