mikrocontroller.net

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


Autor: Matthias K. (m_k)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Markus Müller (mmvisual)
Datum:

Bewertung
0 lesenswert
nicht 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".

Autor: Jax (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Matthias K. (m_k)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Markus Müller (mmvisual)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Jax (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jax (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Korrektur:

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

Kostet 46 Steine.

Jax

Autor: Matthias K. (m_k)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Philipp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weiß jemand, wie es momentan aussieht?

Autor: Sebastian M. (noobuntu)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Matthias K. (m_k)
Datum:

Bewertung
0 lesenswert
nicht 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 ?

Autor: Sebastian M. (noobuntu)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Sebastian M. (noobuntu)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Das Beweisbild!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.