Forum: Mikrocontroller und Digitale Elektronik -ARM- Welches JTAG für Atmel ARM7?


von Jupp (Gast)


Lesenswert?

Huhu,

ich weiß, dass es schon ein paar solcher Threads hier gibt, aber so 
wirklich brauchbar waren die Ergebnisse darin für mich nicht.
Ich habe Boards mit AT91SAM7X µCs und will mir nun endlich ein JTAG 
anschaffen, um vernünftig debuggen zu können. Zur Zeit setze ich GNUARM 
mit Eclipse auf einer Win XP Kiste ein. Ein Umstieg kommt aber auch in 
betracht, solange es sich denn lohnt. Preisliche Schmerzgrenze wären 
wohl so 300 €.

Nun habe ich zahlreiche Anleitungen gefunden, wie man diverse JTAGs mit 
OpenOCD und Eclipse betreibt. Das wäre ja eiegntlich genau das richtige 
für mich. Allerdings scheint das auch recht aufwendig in der Einrichtung 
zu sein und hier im Forum ließt man auch nicht grade viele Lobeshymnen 
auf OpenOCD. Deswegen wäre wohl die erste Frage: OpenOCD ja oder nein?

Zweite und vielleicht wichtigere Frage wäre dann, welches JTAG Device 
ich anschaffen soll? Was ich auf meiner Suche so bisher gefunden habe:

"Wiggler" http://www.olimex.com/dev/arm-jtag.html
ARM-USB-OCD http://www.olimex.com/dev/arm-usb-ocd.html
J-Link http://www.segger.com/cms/jlink.html
JTAGkey http://www.amontec.com/jtagkey.shtml

Was setzt ihr so ein? Was könnt ihr empfehlen oder wovon sollte man 
tunlichst die Finger lassen? Über eure Kaufberatung würde ich mich sehr 
freuen :)

von Robert T. (robertteufel)


Lesenswert?

Vergiss nicht SAM-ICE, ist ein J-Link speziell fuer Atmel SAMxxx, 
getestet und fuer sehr gut befunden. Bei professioneller Nutzung 
wahrscheinlich der niedrigste Preis.
http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3892

Bei Hobby Nutzung, Segger J-Link EDU ist DAS universelle Geraet, tut mit 
fast jedem Compiler / IDE und ist keine Bastelloesung.
http://www.segger.com/cms/j-link-edu.html

Wiggler, gehoert ins letzte Jahrtausend, die anderen zwei habe ich nie 
benuetzt.

Gruss, Robert

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

Jupp schrieb:

Ganz ungewohnter Nick für einen ernst gemeinten Beitrag in einem der 
Kernforen. Falls neu hier und zufällig gewählt: fast jeder andere Nick 
ist weniger "vorbelastet".

> Huhu,
>
> ich weiß, dass es schon ein paar solcher Threads hier gibt, aber so
> wirklich brauchbar waren die Ergebnisse darin für mich nicht.
> Ich habe Boards mit AT91SAM7X µCs und will mir nun endlich ein JTAG
> anschaffen, um vernünftig debuggen zu können. Zur Zeit setze ich GNUARM
> mit Eclipse auf einer Win XP Kiste ein. Ein Umstieg kommt aber auch in
> betracht, solange es sich denn lohnt. Preisliche Schmerzgrenze wären
> wohl so 300 €.
Wahl der JTAG-Hardware ist abhängig von der Debugging-Software, die man 
nutzen will. Falls weiterhin Eclipse genutzt werden soll, gibt es zwei 
Möglichkeiten:
- für die Hardware gibt es einen gdb-Server. Eclipse kann über gdb mit 
einem gdb-Server "reden", der wiederum mit der Hardware "redet".
- es gibt eine Eclipse-Erweiterung, die direkt auf das Interface 
zugreift

> Nun habe ich zahlreiche Anleitungen gefunden, wie man diverse JTAGs mit
> OpenOCD und Eclipse betreibt. Das wäre ja eiegntlich genau das richtige
> für mich. Allerdings scheint das auch recht aufwendig in der Einrichtung
> zu sein und hier im Forum ließt man auch nicht grade viele Lobeshymnen
> auf OpenOCD. Deswegen wäre wohl die erste Frage: OpenOCD ja oder nein?
Ja, die Konfiguration von Eclipse ist nicht supereinfach, v.a. im 
Zusammenspiel mit OpenOCD. Auf den Seiten von yagarto.de kann man sich 
aber die erforderlichen Schritte schonmal anschauen. Dort steht auch 
etwas dazu, wie man ein J-Link (OEM) mit Eclipse betreiben kann.

Ja, die diesem Forum gibt es wenig "Lobeshymnen" auf OpenOCD. Zu 
berücksichtigen ist aber, dass Forenthreads oft von Leuten gestartet 
werden, die auf ein Problem gestossen sind und nach Hilfe suchen. 
Zufriedene Anwender starten keine Threads und antworten bestenfalls nur. 
Es gibt weiterhin auch einige Beiträge von Leuten, die ihren - sicher 
teilweise auch berechtigten - Frust zu OpenOCD mehrmals hier mitgeteilt 
haben.

Ich komme mit OpenOCD meist gut zurecht. Kenne die Programm allerdings 
schon seit den Anfängen. Support für OpenOCD ist so schlecht auch nicht, 
man kann direkt an die Entwickler-Mailingliste schreiben und es gibt 
mindestens zwei Foren (sparkfun und hier), in denen man Fragen loswerden 
kann - allerdings nicht garantiert eine nützliche Antwort bekommt 
(passiert aber auch beim Support kommerzieller Anbieter).

> Zweite und vielleicht wichtigere Frage wäre dann, welches JTAG Device
> ich anschaffen soll? Was ich auf meiner Suche so bisher gefunden habe:
>
> "Wiggler" http://www.olimex.com/dev/arm-jtag.html
Ist, wie von Robert Teufel schon geschreiben, nicht mehr Mittel der 
Wahl. "Echte" LPT-Ports sterben aus. Funktioniert aber mit OpenOCD und 
damit existiert ein gdb-Server. Mglw. gibt es Probleme mit Windows > XP, 
mit XP bisher keine gehabt (mein Wiggler verstaubt allerdings seit 
Monaten in der Bastelkiste).

> ARM-USB-OCD http://www.olimex.com/dev/arm-usb-ocd.html
Ist ein Interface auf FT2232-Basis sehr änlichen JTAGkey. Funktioniert 
ordentlich mit OpenOCD.

> J-Link http://www.segger.com/cms/jlink.html
Dafür gibt es von Segger einen gdb-Server, tut also auch unter Eclipse. 
Man kann sogar OpenOCD als gdb-Server nutzen. Im Zweifel dürfte der von 
Segger allerdings einfacher einzurichten sein. Wie von Robert Teufel 
bereit geschreiben, wird das J-Link von diversen kommerziellen IDEs 
direkt unterstützt, daher keine schlechte Wahl bei einem Wechsel von 
Eclipse zu etwas anderem. Falls man nur Controller mit ARM-Kern von 
Atmel nutzen will, ist das ebenfalls schon genannte SAM-ICE eine 
günstige Option. Habe so ein Teil selbst sehr sehr wenig genutzt (EDU 
ist für mich auch keine Option, Vollversion nicht wirtschaftlich für 
mich, SAM-ICE zu eingeschränkt und mein uralt J-Link HW V4 od. 5 liegt 
neben dem Wiggler).

Es gab mal eine Vorabversion eines SAM-Studio von Atmel auf 
Eclipse-Basis, in dem das SAM-ICE wahrscheinlich direkt unterstützt 
wird. Keine Ahung ob Atmel das weiterentwickelt hat und es inzwischen 
eine offzielle Fassung gibt, im Zweifel deren Support fragen.

> JTAGkey http://www.amontec.com/jtagkey.shtml
So etwas habe ich in Verwendung (JTAGkey und JTAGkey2), ist auf 
FT2232-Basis. Bin froh damit. Funktioniert auch als gdb-Server für 
arm-gdb und Eclipse ordentlich, sofern die Hürden der 
OpenOCD-Konfiguration genommen sind. Nutze es für diverse Controller mit 
ARM7 und Cortex-M3-Kern.

CM3-SWD mit FT2232 und OpenOCD ist allerdings noch in Entwicklung. Es 
ist abzusehen, das dafür eine Hardwareerweiterung oder -änderung 
erforderlich ist. Für AT91SAM7 und die mir bekannten AT91SAM3 ist das 
jedoch nicht relevant.

> Was setzt ihr so ein?
s.o.

> Was könnt ihr empfehlen oder wovon sollte man
> tunlichst die Finger lassen?
Wiggler nicht mehr, es sei denn, es muss wirklich ganz ganz billig sein. 
J-Link (EDU) bzw. SAM-ICE kann ich nichts zu schreiben - wurde ja schon 
empfohlen. FT2232-Adapter sind besser als ihr Ruf in diesem Forum aber 
dennoch ein etwas kiesiger (nicht steiniger) Weg, weniger der Adapter 
selbst, sondern OpenOCD Konfiguration. Es gibt auch kommerzielle IDEs, 
die direkt mit diesen Adaptern zurecht kommen (zumindest Rowley 
Crossworks, IAR EWARM)

> Über eure Kaufberatung würde ich mich sehr freuen :)
Mein Geschreibsel oben soll nicht wirklich eine "Kaufberatung" sein, nur 
etwas die Hintergründe erläutern.

Es gibt übrigens noch weitere Interfaces, die man mit Eclipse betreiben 
kann, u.a. von Abatron, Ronetix, Lauterbach. Sind jedoch wahrscheinlich 
nicht im Kostenrahmen.

von Jupp (Gast)


Lesenswert?

Moin!

Schonmal vielen Dank für die ausführliche Beratung!
Ich tendiere dann im Moment zu dem SAM-ICE. Hatte ohne hin schon mit dem 
J-Link geliebäugelt und wenn die zwei quasi identisch sind, dann freue 
ich mich über den geringeren Preis. Werde wohl nicht allzu bald von 
ATMEL weg kommen.

@ Martin Thomas
Du schreibst jetzt aber, dass es für dich keine Option war, weil es "zu 
eingeschränkt" sei. Meinst du damit die Beschränkung auf die µC (das 
wäre für mich ja OK) oder gibt es noch weitere?

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

Jupp schrieb:
> @ Martin Thomas
> Du schreibst jetzt aber, dass es für dich keine Option war, weil es "zu
> eingeschränkt" sei. Meinst du damit die Beschränkung auf die µC (das
> wäre für mich ja OK) oder gibt es noch weitere?
Nein, nicht wirklich. Ja, gegen SAM-ICE spricht, dass ich auch 
Controller anderer Hersteller verwende. J-Link EDU ist keine Option, da 
kommerzielle Verwendung nicht erlaubt ist - gelegentlich übernehme ich 
Aufträge für Firmwareentwicklung. J-Link Vollversion mit den 
Software-Lizenzen hat sich für mich nicht gerechnet. Was nicht heissen 
soll, das es nicht preiswert ist. Vermag ich mangels Erfahrung mit den 
Geräten und der Software nicht zu beurteilen.

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.