Forum: Mikrocontroller und Digitale Elektronik Segger J-Link unter Linux


von Matthias K. (m_k)


Lesenswert?

Hallo,

ich möchte mit dem LPC1768 (Cortex M3) und dem Segger J-Link EDU in die 
Welt der ARM's einsteigen.

Hat jemand den Segger J-Link unter Linux im Einsatz ?

Kann mir jemand einen Compiler und einen grafischen Debugger empfehlen, 
welcher unter Linux mit dem Segger J-Link funktioniert ?


Gruß,

Matthias

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Ich bin mir jetzt nicht sicher ob es auch unter Linux geht, müsste da es 
die Programme auch für Linux gibt.

Eclipse mit Coudesourcery und OpenOCD.
Siehe Artikel STM32
Unter "Installation für STM32".

von Jax (Gast)


Lesenswert?

habe auch den JLink und wollte ihn mit einem
STM3210E Board benutzen. Leider ist das unter Linux bei mir ziemlich
instabil, sowohl mit OpenOCD als auch mit dem JLink-eigenen GDBServer. 
Der Ethernut Turtelizer läuft dagegen bei mir sehr zuverlässig, obwohl 
es sich dabei um
einen Billig-Dongle auf FTDI-Basis handelt.
JLink mit Windows+IAR geht dagegen stabil.

Unter Linux kann natürlich jedes grafische Frontend, das auf GDB 
aufsetzt, verwendet werden, z.B. auch der DDD.

HDH,

Jax

von Matthias K. (m_k)


Lesenswert?

Hallo Jax,

wie äußert sich das "ziemlich instabil" denn ?

Wie kann ich denn DDD mit dem gdb von Sourcery G++ Lite verwenden ?
Muss DDD für das ARM-Zielsystem neu kompiliert werden, oder kann ich 
direkt den DDD meiner Distribution (Debian Squeeze) nehmen?

Bei der Eclipse-Installation in dem Link von Markus sieht es ja so aus, 
als wenn das gdb-Frtontend von Eclipse nicht speziell für das 
ARM-Zielsystem kompiliert werden muss ?

Gibt es irgendwo im Internet eine Anleitung zum Thema J-Link unter Linux 
mit freien Tools ?


Gruß,

Matthias

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Das kann ich auch schreiben:
geht - geht nicht - ausstecken - software beenden - einstecken - geht - 
geht nicht - geht halb - geht ....

Bei meiner Windows-Installation (ist so wie im Artikel STM32 
beschrieben) musste ich nichts extra kompillieren, nur laden und 
installieren.

Wenn Du das mit Linux hin bekommen hast, kannst Du das mit in die Wiki 
STM32 aufnehmen?

von Jax (Gast)


Lesenswert?

Hallo Matthias,

Matthias K. schrieb:
> wie äußert sich das "ziemlich instabil" denn ?
>

Markus hat das richtig beschrieben.
Komischerweise war der Windows JLink-GDBServer genauso
instabil (abgesehen, dass er dauernd mit dem "Lizenz-Fenster"
genervt hat, auch mehrfach per Session -ich habe die EDU Version).

Wie gesagt: Der Turtelizer läuft bei mir sehr gut, kostet
dafür aber auch nur 30EUR.
Leider kann er kein SWD, was einerseits an der noch fehlenden
SWD Unterstützung in OpenOCD, andererseits auch wohl
an der Turt Hardware liegt (SWDIO ist bidirektional,
der Turt hat einen Treiber an der entsprechenden Leitung, der nur
unidirektional ist). SWD wäre im Vergleich zu JTAG
vor allem im Zush. mit SWO interessant...

> Wie kann ich denn DDD mit dem gdb von Sourcery G++ Lite verwenden ?

Ganz einfach:

$ ddd --debugger arm-none-eabi-gdb <elf-file>


> Muss DDD für das ARM-Zielsystem neu kompiliert werden, oder kann ich
> direkt den DDD meiner Distribution (Debian Squeeze) nehmen?

Nein. Die Target-Abhängigkeiten stecken ja im arm-none-eabi-gdb.
DDD ist ein separates Programm, das im Hintergrund den
per --debugger Option spezifizierten Debugger am Laufen hat.
Einfach mal z.B. das mit CS gelieferte GDB Manual studieren

Ausserdem: "Debugging with DDD", hat auch gut 200 Seiten...

>
> Bei der Eclipse-Installation in dem Link von Markus sieht es ja so aus,
> als wenn das gdb-Frtontend von Eclipse nicht speziell für das
> ARM-Zielsystem kompiliert werden muss ?
>
Im Prinzip ist das genau derselbe Mechanismus wie beim DDD.
Die grafischen Frontends starten alle den passenden
gdb im Hintergrund und kommunizieren ihm.

> Gibt es irgendwo im Internet eine Anleitung zum Thema J-Link unter Linux
> mit freien Tools ?

Auch dazu gibt´s gute Literatur: "OpenOCD User’s Guide" (140 Seiten, 
muss
man aber nicht alle gelesen haben...).

Also: RTFMs.

HDH.

Jax

von Jax (Gast)


Lesenswert?

Korrektur:

http://www.egnite.de/egnite-shop/programmierer.html.

Kostet 46 Steine.

Jax

von Matthias K. (m_k)


Lesenswert?

Danke für Eure Tipps!

Im Moment warte ich noch auf den J-Link EDU und das 
Mikrocontroller-Board.


Wenn ich das ganze unter Linux am laufen habe, kann ich es gerne im Wiki 
festhalten ...


Gruß,

Matthias

von Philipp (Gast)


Lesenswert?

Weiß jemand, wie es momentan aussieht?

von Sebastian M. (noobuntu)


Lesenswert?

Hallo alle zusammen,

ich habe unter Ubuntu 10.10 die komplette Toolchain, also Eclipse + 
Codesourcery + JLink Edu am laufen, habe damit erst einige Tests 
gefahren, aber anscheinden funktioniert das ganze recht stabil (hatte 
bist jetzt noch keine abstürzte etc...)

mfg noobuntu

von Matthias K. (m_k)


Lesenswert?

Ich bin bis jetzt nur soweit gekommen, daß ich für die ersten Tests eine 
Demoversion von CrossWorks mit einem JTAGkey unter Debian benutzt habe.

Das ist aber auch schon wieder ein paar Tage her ..., hat aber sehr gut 
funktioniert.


@Sebastian:

Kannst Du mal beschreiben, wie Du das ganze eingerichtet hast ?

von Sebastian M. (noobuntu)


Lesenswert?

Matthias K. schrieb:
> Kannst Du mal beschreiben, wie Du das ganze eingerichtet hast ?

So ganz genau weis ich es nicht mehr, ist schon eine Weile her.

//Einrichten von Eclipse
- Eclipse CDT herunterladen und entpacken
- GDB Hardware Debugging Feature von Eclipse installieren
- GNU Arm Plugin für Eclipse herunterladen und installieren
- Codesourcery für Linux herunterladen und installieren (unter Ubuntu 
geht es standartmäßig nicht, im Readme File ist aber beschrieben was man 
machen muss)
- PATH Variable anpassen (ansonsten funktioniert der Build Prozess 
nicht)

//Einrichten vom JLink
- Sicherstellen das die Libusb installiert ist
- von Segger die JLink Software für Linux herunterladen
- die start.sh so modifizieren dass der GDB Server anstatt der JLinkExe 
gestartet wird (den GDB Server starte ich über das Terminal)

//Einrichten des GDB Server
- In Eclipse den GDB Hardeware Server richtig konfigurieren

Das ist alles mit vorsicht zu genießen. Ich bin kein wirklicher Linux 
Gott und glaube einiges was ich da gemacht habe, ist deutlich einfacher 
zu lösen, aber hauptsache es funktioniert!

Hab noch ein Beweisbild drangehängt!

von Sebastian M. (noobuntu)


Angehängte Dateien:

Lesenswert?

Das Beweisbild!

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.