Forum: Mikrocontroller und Digitale Elektronik ARM JTAG Debugger: Alternative zum OpenOCD


von 900ss (900ss)


Lesenswert?

Hallo ARM-Programmierer,

ich habe jetzt ein wenig mit einem FT2232 basiertem JTAG I/F und dem 
OpenOCD rumgespielt (in Eclipse über GDB).

Nun, bis man es zum laufen hat, dauert es ein wenig. OpenOCD kostet ja 
auch nichts und da wollen wir mal nicht meckern.

Trotzdem suche ich nach einer Alternative, die etwas mehr 
professionellen Character hat. Ich will nicht erst ein paar Stunden am 
OpenOCD rumkonfiguerieren und die Cmds für GDB in Elipse ausprobieren, 
bis es endlich läuft. Bin ja auch bereit, ein paar Euros locker zu 
machen.

Mir ist da der J-Link für none Commercial ins Auge gefallen. Kostet 
98,00 Euro. Das wäre es mir wert.
Hat da jemand Erfahrung mit?
Ist das eher Plug&Play?
Läßt es sich also problemloser verwenden?

Oder gibt es noch etwas anderes in der Preisklasse?

Oder gibt es eine Alternative zum OpenOCD und einem FT2232 basiertem 
JTAG I/F?

Freue mich über eure Tips und Erfahrungen.

Gruß
900ss

PS. Vielleicht weiß M. Thomas etwas mehr? ;-)

von let (Gast)


Lesenswert?

Hallo auch,

mit einem FT2232 basiertem JTAG habe ich anfangs auch hantiert
und bin damit nicht zurecht gekommen. Ich benutze den Debugger
auch recht selten (in diesem Jahr vielleicht zwei-, drei mal).
Wenn ich ihn aber brauche will ich mich nicht mit irgendwelchen
Skripten und schlecht bis gar nicht dokumentierten Tools herum
ärgern. So billig kann das Zeug gar nicht sein das ich dafür
Zeit aufwende denn auch meine (Hobby-) Zeit ist mir einiges Wert.

Daher habe ich es mit dem J-Link probiert und ich finde er macht
seine Sache recht gut. Perfekt sieht für mich zwar anders aus aber
ich komme damit zurecht. Das schöne an dem Teil ist das man es
auch im laufenden Betrieb anstecken kann. So kann man wenn ein
Programm abgestürzt sehen an welcher Stelle es hängt und sich
auch die aktuellen Variableninhalte ansehen. Das geht - soweit
ich weiß - nicht mit den FT2232 Debuggern.

Allerdings habe ich den Eindruck das Segger den GDB-Server eher
stiefmütterlich behandelt. Der typische J-Link Anwender scheint mir
auch eher mit der Keil Umgebung zu arbeiten. Es hakt an einigen
Stellen mit der Kommunikation zwischen GDB und J-Link bzw. dem Server.
Woran das letztlich liegt weiß ich nicht, tippe aber auf den
GDB-Server.

Beispiel aus dem Kopf (spezielles Skript wird nicht benötigt):
1
arm-elf-gdb firmware.elf
2
> target remote 2331  #Prg wird gestoppt und aktuelle Stelle wird angezeigt
3
> monitor speed 400   #Geschw. der JTAG Schnittstelle in kHz
4
> next
5
> step
6
> print var
7
> break func          #breakpoint bei func()
8
> continue            #Programm fortsetzen. Wird bei func() gestoppt.
9
...


Zu den 98€: Das ist der Preis ohne MwSt und Versand.

von Andreas W. (andreasw) Benutzerseite


Lesenswert?

Vielleicht CrossWorks? Die "Personal License" kostet 150 USD.

von 900ss (900ss)


Lesenswert?

Andreas Watterott schrieb:
> Vielleicht CrossWorks? Die "Personal License" kostet 150 USD.

Hmmm ja, liegt auch im Preisbereich. Allerdings bekomme ich da eine 
Entwicklungsumgebung mit CrossWorks eigener CLib. Es werden zwar auch 
FT2232 basierte JTAG I/Fs unterstützt aber ich wollte lieber die ~100 
Euro in den Debugger stecken und eine freie Toolchain nutzen. Sonst ist 
man abhängig von CrossWorks (die ja nicht schlecht sein müssen) mit 
seiner SW. Anfreunden kann ichmichdamit nicht soo sehr.

@let
Danke dir für deinen Erfahrungsbericht.

Wer hat denn noch Ideen oder Vorschläge?

Gruß
900ss

von Random .. (thorstendb) Benutzerseite


Lesenswert?

Hi,

ULINK (Keil), jLink (Segger) würde ich sagen.
Habe mit beiden sehr gute Erfahrungen gemacht, der jLink wird nun für 
Cortex-M3 komplett (auch in der Eval) von µVision unterstützt.

> Der typische J-Link Anwender scheint mir auch eher mit der Keil Umgebung
> zu arbeiten.
Der jLink wird im µVision "native" angesprochen, und nicht über RDI. 
Somit wird auch keine Flash Lizenz benötigt, höchstens eine Flash-BP 
Lizenz, falls die 6 HW BPs des CM3 nicht ausreichen.


VG,
/th.

von 900ss (900ss)


Lesenswert?

Random ... schrieb:
> Hi,
>
> ULINK (Keil), jLink (Segger) würde ich sagen.
> Habe mit beiden sehr gute Erfahrungen gemacht, der jLink wird nun für
> Cortex-M3 komplett (auch in der Eval) von µVision unterstützt.

Hmm, so wie ich das sehe, funktioniert der Ulink nur mit der Keil 
Entwicklungsumgebung und ist auch sehr teurer.

Was ich suche ist etwas, was mit dem GDB zusammenarbeitet, also
einen GDB-Server bereitstellt. Ich möchte halt gerne mit Eclipse
und einer freien Toolchain arbeiten.
Bei dem jLink würde es funktionieren. Segger sein Angebot ist da schon 
nicht schlecht für den privaten Anwender.
Gibt es sonst eine alternative zum OpenOCD um über ein FT2232 basiertes 
JTAG I/F zu debuggen und zu flashen?

Oder freuen sich alle Hersteller über das OpenOCD? Ansonsten wären ja 
alle I/F mit dem FT2232 unbrauchbar, wenn ich das richtig verstehe.

900ss

von Robert (Gast)


Lesenswert?

Es gibt einen Nachbau des JLinks (Ebay: Art. Nr:  110395979163).

Ich beginne selbst mit den Cortex und bin auch am überlegen. Ich werde 
mir jedoch wahrscheinlich den J-Link von Segger holen, da ich da auch 
Support habe. Bei Gewährleistung, etc.. ist halt bei so nem Nachbau 
blöd.

Weiters wirkt der J-Link von Segger wesentlich professioneller.

von 900ss (900ss)


Lesenswert?

Robert schrieb:
> Es gibt einen Nachbau des JLinks (Ebay: Art. Nr:  110395979163).

Der ist ohne Software. Du kannst ihn also nur mit den kommerziellen IDEs 
nutzen. Das wird teuer :-) Wenn ich das alles richtig verstanden habe.

>
> Ich beginne selbst mit den Cortex und bin auch am überlegen.

<verbose>
Mein ST32F103 "zappelt" schon. Immerhin blinken LEDs und er gibt "Hello 
Word" über den UART mit printf aus :-) Wenn das OpenOCD einfacher zu 
bedienen wäre, dann hätte ich das sehr schnell hinbekommen. Aber so hat 
es einen ganzen Abend gedauert :-(
Die mitgelieferten Libraries machen einem das Leben echt einfach.
</verbose>

> Ich werde
> mir jedoch wahrscheinlich den J-Link von Segger holen, da ich da auch
> Support habe. Bei Gewährleistung, etc.. ist halt bei so nem Nachbau
> blöd.

Ja wenn hier nicht noch einer einen SUPER Tip hat, dann werde ich das 
auch machen.

900ss

von Robert (Gast)


Lesenswert?

> Der ist ohne Software. Du kannst ihn also nur mit den kommerziellen IDEs
> nutzen. Das wird teuer :-) Wenn ich das alles richtig verstanden habe.

Danke für die Information.

Das ist ein triftiger Grund ihn nicht einzusetzen.

Ich beginne mit den ARMs von Lumminary, genauer gesagt dem LM3S6950. Mal 
schauen wie da die Libraries sind. hoff

lg Robert, der schon ein bisschen nervös wegen der Matura morgen ist.

von 900ss (900ss)


Lesenswert?

Robert schrieb:
> Ich beginne mit den ARMs von Lumminary, genauer gesagt dem LM3S6950. Mal
> schauen wie da die Libraries sind. *hoff*

Die sind auch gut. Habe auch ein EVAL-Board hier von Luminary und ein 
wenig mit gespielt. Habe mich dann aber für eine CPU von ST entschieden 
wegen anderer Peripherie auf dem Chip.

>
> lg Robert, der schon ein bisschen nervös wegen der Matura morgen ist.

Na dann viel Glück.


Hat jemand eine Ahnung, ob man das OpenOCD durch einen anderen 
GDB-Server ersetzen kann? Oder nur in der Art wie CrossWorks Toolchain? 
Gibt es sonst etwas günstiges?

Gruß
900ss

von Mehmet K. (mkmk)


Lesenswert?

Wenn Du mit Luminary's arbeiten willst, so kannst Du irgend ein 
Eval-Board von denen auch als Jtag-Debugger benutzten. Steht zumindest 
im Handbuch und wurde vom Forumsmitglied Herrn Watterott mehrmals 
konfirmiert.

von 900ss (Gast)


Lesenswert?

Mehmet Kendi schrieb:
> Wenn Du mit Luminary's arbeiten willst, so kannst Du irgend ein
> Eval-Board von denen auch als Jtag-Debugger benutzten. Steht zumindest
> im Handbuch und wurde vom Forumsmitglied Herrn Watterott mehrmals
> konfirmiert.

Ja das geht, habe es probiert. Allerdings sind bei den Luminary 
Eval-Boards (die ich hatte) die xxRST-Leitungen nicht aufgelegt. Und das 
ist manchmal blöd, da ich zumindest selten einen vernünftigen Anlauf des 
FREMDEN Targets hinbekommen habe. Vielleicht hab ich mich aber auch zu 
dumm angestellt.

Gruß
900ss

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.