Forum: Compiler & IDEs JTAG für Arm


von Amr (Gast)


Lesenswert?

hi, habe einen atmel  At91eb63 board mit einen arm at91m63200 ,und will
einen richtigen JTAG Interface adapter der mit dem gdb kompatibel ist
kaufen. kann mir jemand was vorschlagen ? habe mehrmals auf google
gesucht und da bin ich nur auf sauteure geräte gelandet ( ab 1500 euro
), ich kann mir höchstens was für 300 euro leisten, ist das möglich?
Danke

von Rufus T. Firefly (Gast)


Lesenswert?

Es gibt den "Wiggler", das ist ein Jtag-Adapter, der an der parallelen
Druckerschnittstelle eines PCs anzuschließen ist. Je nach Betriebssystem
kann man damit mit gdb arbeiten. Unter Windows wird eine Software von
Macraigor eingesetzt, die mit dem "Wiggler" kommuniziert und für gdb
ein entsprechendes Interface zur Verfügung stellt.
Auf meinem Entwicklungssystem (das unter XP läuft) ist das
unbrauchbar.
Das Entwicklungssystem von Rowley Associates
(http://www.rowley.co.uk/arm/index.htm) kann auf der gleichen Hardware
mit dem gleichen OS mit einem "Wiggler" ganz wunderbar kommunizieren
- da scheint's wohl ein Defizit in der Macraigor-Software zu geben.
Mag sein, daß das unter den DOS-basierten Windows-Varianten (95..Me)
anders ist.

Ein zum "Wiggler" kompatibles Teil kann man von Olimex für etwa 20
EUR kaufen (shop.mikrocontroller.net)

Alternativ gibt es von Segger ein USB-JTAG-Interface
(http://www.segger.com/jlink_flash.html), das etwa 250 EUR kosten soll,
aber hier ist unklar, inwiefern es sich mit GDB einsetzen lässt. Auch
ist unklar, wo man's für welchen Preis herbekommt.
Macraigor selbst stellt auch andere JTAG-Interfaces als den "Wiggler"
her (http://www.macraigor.com/hwproducts.htm)

von Amr (Gast)


Lesenswert?

Mehrmals Danke Rufus , habe gerade das Teil von shop bestellt, und hoffe
das es demnächst funktioniert.
Mfg
Amre

von Guido Müsch (Gast)


Lesenswert?

Kann das generell bestätigt werden, daß ocdremote unter Windows XP nicht
funktioniert?
Jedenfalls habe ich gerade dasselbe Problem. Das System von Rowley
hingegen funktioniert.
Schon blöd. Ich hätte gerne den ddd zum debuggen benutzt. Muß ich jetzt
den teuren usbDemon von Macraigor nehmen?

Ciao
Guido

von mthomas (Gast)


Lesenswert?

gleiche Baustelle - Zwischenstand: Macraigor "hwsupport" V 2.08,
Wiggler-Nachbau v. Olimex, Olimex LPC-P1 Board (Vorgaenger des
LPC-P2106) mit Philips LPC2106, Debug-Jumper gesetzt, Boot-Jumper
offen, ParPort im Bios auf EPP (Wiggler+ECP funktioniert nicht lt.
Macraigor Doku.), Win2000 SP4 mit Admin-Rechten, ocdremote Optionen:
ARM7TDMI-S, Wiggler, Speed von 1-8 durchprobiert jeweils mehrmals.
langer Rede: es funktioniert nicht (Fehler 43, irgendwas mit Kabel
nicht verfunden). Das Oszil. zeigt zwar ein wenig "wackeln" an 3
JTAG-Pins aber das war's auch schon. Hat jemand schon einen anderen
Wiggler(-Nachbau) als den von Olimex mit der Macraigor-Software am
Olimex P2106/P1 getestet? Wenn ja und das Ergebnis auch negativ war,
koennt' ich mir die Bastelaktion fuer "Minmalausstattungs-Wiggler"
(nur HC244 + Transistor ohne LCX244) sparen. Hab' ich den Schaltplan
des Olimex-Wiggler auf deren Webseite uebersehen?

Martin

von OldBug (Gast)


Lesenswert?

Meine Erfahrung ist halt, daß OCDremote zwei mal gestartet werden muss.
Sonst bekomme ich auch "Cable disconnected".

1. Starten mit device "RAVEN", Fehlermeldung erscheint
2. Starten mit device "WIGGLER", Verbindung aufgebaut

System: Win XP-Home auf einem P-IV 3GHz, Multithreading aktiviert

von Guido Müsch (Gast)


Lesenswert?

Macraigor behauptet OCDRemote läuft unter XP mit all ihrer Hardware.
Meine Anfrage bei macraigor wurde ansonsten (vielleicht verständlich)
abgeschmettert, weil ich "Wiggler compatible" geschrieben habe. Naja,
schließlich verkaufen die ihren Wiggler auch für $150.

Aber wo ist dann aber der Unterschied zwischen den Wigglern? Hat
irgendjemand ein Original Macraigor Wiggler?

Interessanterweise funktioniert ja auch die Entwicklungsumgebung von
Rowley.

Also muß ich mich jetzt wohl entscheiden die Umgebung von Rowley zu
nehmen (Ich habe testweise nur die Evaluation Version), oder ein
teures, von OCDRemote unterstütztes JTAG Interface (zB usbDemon) zu
nehmen.

Ciao
Guido

von mthomas (Gast)


Lesenswert?

Nun denn, weiter mit "der Baustelle":
Also das Olimex ARM-JTAG ist zwar eine Wiggler-System (der Name Wiggler
wird stellenweise auch fuer andere ParPart-Pinwackler genutzt) aber
offensichtlich nicht baugleich und auch nicht wirklich kompatibel mit
dem original Macraigor-Wiggler. Habe nochmal woanders nachgefragt: das
original von Macraigor (150$) funktioniert mit jeder
Macraigor-Softwareversion - wen wundert's. Bestätigt ja auch die
Information von Guido Müsch. Die aktuelle Version 2.08 von ocdremote
arbeitet wohl auch nicht mit dem einfachen Nachbau
(74AC/HC244+Transistor) zusammen (gefunden in 3 Threads, keine eigenen
Versuche).

Ich war inzwischen helbwegs erfolgreich mit einer älteren
ocdremote-Version. Hinweise dazu in einem Foren-Archiv - weis nicht
mehr genau wo.

C:\cygwin\usr\local\bin>ocdremote -c arm7 -p 8888 -d wiggler -a 1
-s 2
ocdremote 2.06: WIGGLER via LPT 1 at speed : 2
JTAG SDO <-| CPU(1) ARM7 : listening on port 8888 |<- JTAG SDI

Der Verbindungsauf ist nicht sonderlich zuverlässig, manchmal
funktioniert's auf Anhieb mit Geschwindigkeit (-s) 3 oder 4, selten
mit 2, nie mit 1 und fast immer mit 8 (Windows2000SP4 PII-400). Könnte
auch an den fehlenden Pull-Ups auf dem Target liegen, die in der
ARM-Dokumentation zum Interface empfohlen werden, aber auf dem
Olimex-Board scheinbar fehlen. Aber nach erfolgreichem Start von
ocdremote waren Testverbindung mit gdb/insight 6.1 (aus gnuarm,
aktuelle aber cygwin) und 5.2.1 (aus WinARM, veraltet dafuer
W32-native) mit Ansicht der Registerinhalte  problemlos.

Grund für das ganze Durcheinander ist wohl mehr Marketing denn ein
Technik-Problem. Zumindest neue Macraigor Software "will"
offensichtlich nur mit Macraigor-Hardware. (...Dann koennten Sie die
Software eigentlich auch gleich verkaufen, statt den Leuten die Nase
lang zu machen. Vielleicht gibt's irgendwo den "richtigen"
Schaltplan.)

Bei der Suche auch auf einen gdb-Server fuer "J-Link/U-Link"
gestossen, das ist das JTAG-Interface mit USB-Anschluss, welches bei
den Keil LPC und IAR SAM7S-Demo-Kits beiliegt - aber das ist wieder
eine andere Baustelle.

Hoffe, es hilft weiter
Wikki-Ergänzung dazu bei Gelegenheit

Martin

von Amr (Gast)


Lesenswert?

der Olimex funktioniert bei mir auch nicht, hab Windows XP und bin jetzt
echt verloren, weil ich nicht mal die trial version von Rowley kriege (
die antworte nicht auf meine mails). kann mir jemand was vorschlagen ,
ohne euros ?
würd mich mich freuen
ciao

von Guido Müsch (Gast)


Lesenswert?

@mthomas:
Danke, das bestätigt auch meine Vermutung, das neuere Versionen von
OCDRemote 'absichtlich' keine Fremd-Wiggler unterstützen.

@all:
Gestern habe ich auch verschiedene Rechner ausprobiert: WinXP, WinXP
SP2, Win98, Laptops und Desktops, aber keine Maschine funktioniert mit
OCDRemote und dem Olimex JTAG Adapter.

Weiß jemand, wo ich eine ältere Version von OCDRemote bekommen kann
(Auf der Seite von FreeRTOS heisst die ja auch noch ocdlibremote)?

Am liebsten wäre mir eine günstige Alternative, die GDB und Rowley
unterstützt, aber da träume ich besser weiter. JTAG Interfaces mit USB
oder LAN sind ja gleich richtig teuer.

Ciao
Guido

von Rufus T. Firefly (Gast)


Angehängte Dateien:

Lesenswert?

Anbei eine -von mir allerdings nicht getestete- alte Version des OCD
Commanders, die mit einer älteren Version des IAR-Compilers
ausgeliefert wurde.
Das Standalone-Programm ocd_cmdl.exe ist vom 26.3.2003 - vielleicht ist
diese Version ja alt genug.

Teil 1/3

von Rufus T. Firefly (Gast)


Angehängte Dateien:

Lesenswert?

Teil 2/3

von Rufus T. Firefly (Gast)


Angehängte Dateien:

Lesenswert?

Teil 3/3

Diese Version gibt übrigens keine Versionsmeldung aus und enthält auch
keine Versionsressourcen, so daß eine Datierung/Bestimmung nur anhand
von Dateidaten möglich ist.

Viel Glück damit

von Guido Müsch (Gast)


Lesenswert?

Eine Lösung findet sich in comp.sys.arm. Offensichtlich haben die
original Wiggler eine Verbindung von Pin 8 zu Pin 15 des Parallelports.
Ich habe eine entsprechende Brücke eingelötet und nun funktioniert es
auch mit Version 2.08; jedoch bei mir nur mit langsamen Speed
Einstellungen von 6-8. Ansonsten kommt die Fehlermeldung "OCDemon
InitializeTarget Error : Cable Disconnected". Das bestätigt das
Verhalten, was mthomas beschreibt.

In comp.sys.arm gab es auch noch ein link auf die version 2.06, die
noch ohne Erkennung funktionierte.

Ciao
Guido

von Rufus T. Firefly (Gast)


Lesenswert?

@Guido:
Danke für den Tip mit der Brücke. Auf was für einem Rechner hast Du
denn Deine Untersuchungen vorgenommen (Prozessor/Geschwindigkeit)?
Davon müsste ja etwas der "JTAG Speed"-Wert abhängen.

Interessant wäre es, mal die Innereien eines "echten" Wigglers zu
sehen,  denn offensichtlich ist "Wiggler" != "Wiggler".

von Guido Müsch (Gast)


Lesenswert?

Wenn ich folgendes kleines Script (Cygwin/Linux) verwende klappt es bei
zwei 1Ghz Rechnern (Desktop und Laptop) sogar mit -s 1 (nach ca 3-5
Durchläufen):
#!/bin/sh
while true; do ocdremote -c ARM7TDMI-S -d WIGGLER -a 1 -s 1; done

Also eine einfache Endlosschleife.

Auf einem anderen Desktop mit einem 2Ghz Athlon tuts 1 garnicht. 2,3,7
selten und 4,5,6,8 meist auf Anhieb.
Irgendwie ist da kein Zusammenhang auszumachen. Das ocdremote muß schon
komische Sachen machen.

Gruß
Guido

von mthomas (Gast)


Lesenswert?

Auch etwas "rumgespielt":
- die Kabelbruecke in das Olimex-"Wiggler" eingebaut
- ein ähnliches Skript wie Guido erstellt als "Batch-Datei"
- Testplattform wie gehabt W2K SP4, PII-400, ParPort EPP
- ocdremote 2.08 (z. Zt. aktuell)

Speed 1 nach vielen Versuchen moeglich, Speed 2 etwas weniger Versuche
(max. 8), Speed 3 max. 1 Fehlversuch.

Patricks (Oldbug) "Raven/Wiggler-Methode" etwas nachgegangen. Also es
scheint irgendwie mit der Reset-Leitung im Zusammenhang zu stehen. Ein
Fehlstart mit Device Raven hinterlaesst die Reset-Steuerleitung (Pin2
am DSUB25) "low". Danach funktioniert die eigentliche Verbindung zum
Wiggler fast immer auf Anhieb. ocdremote mit Option wiggler
hinterlaesst die Rest-Leitung "high". In Leo Hellers Bauanleitung
(lpc2100 yahoo-group) ist die Basis des Reset-Transistors (Inverters)
mit Pull-Down versehen, im Olimex-Teil scheinbar nicht. Habe versucht,
eine Pull-Down (10k) nachzuruesten, hat aber nicht wirklich was
gebracht. Pin12 waere noch frei am ParPort-Eingang, mglw. hat
Maccraigor auch an den noch eine Art Nachbauschutz angeschlossen.
Vielleicht hat jemand noch eine Idee. Aber es funktioniert nun
wenigstens mit der modernen Macraigor-Software, wenn auch nicht so
"elegant".

Gruß
Martin


(Legen wir zusammen und kaufen ein Orignal-Wiggler zum "Sezieren"?
;-) )

von Laurent Gauch (Gast)


Lesenswert?

probieren Sie Chameleon POD von Amontec. Dieser Produkt kann gebraucht
werden als :
 - Macraigor Wiggler
 - Macraigor Raven auch.

Gruss
Laurent

von Rufus T. Firefly (Gast)


Lesenswert?

... der Chameleon POD ist aber ein klitzekleines bisschen schwieriger
nachzubauen als ein Wiggler.

Wenn ich mir schon einen JTAG-Adapter kaufe, dann einen für USB.


Ein interessantes Projekt wäre es, einen USB-JTAG-Adapter basierend auf
http://www.ftdichip.com/Projects/MPSSE.htm#JTAG hinzubekommen.
Ich habe dazu derzeit noch deutlich zu wenig Ahnung von JTAG im
allgemeinen und der Interaktion von JTAG-Interface-Treibern und
-beispielsweise- gdb.
Anscheinend gibt es wohl eine Programmschnittstelle, die der
Macraigor'sche OCD Commander/OCD Remote zur Verfügung stellt, die
sowohl von gdb-Implementierungen als auch von EWARM (IAR) genutzt
wird.
Ob man die mit einem eigenen USB-JTAG-Adapter (und geeigneter Software
auf dem PC) nachbilden kann?

von Guido Müsch (Gast)


Lesenswert?

@Laurent:
Wie kann Amontec sicherstellen, daß der Chameleon POD sich genauso
verhält wie ein Wiggler oder Raven?

An Macraigors Stelle hätte ich den Wiggler sowieso mit einer
programmierbaren Logik ausgestattet, so daß man ihn nicht einfach
reverseengineeren kann. Bei $150 sollte das ja drin sein.
Oder besteht der wirklich nur aus einem Leitungstreiber?

Guido

von Jan (Gast)


Lesenswert?

Hallo Leute,

nach welchem Schaltplan habt ihr nun eigentlich eure Wiggler gebaut?

Ich wüsste gerne, ob der nTRST-Pin des Zielbaustein über den Wiggler
gesteuert wird? Der mir vorliegende Wiggler-Klon beachtet diesen nicht
weiter, statt dessen kann nur ein vollständiger Systemreset vollzogen
werden. Ist das richtig so? Braucht die JTAG-Software keinen Zugriff
auf nTRST?

Gruß,

Jan

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.