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.