Ethernut Home Hardware Firmware Tools Download Community
 
 
Suchen | Impressum | English

Diese Seite enthält automatisch übersetzte Abschnitte.

EIR JTAG

Nach unserem Wissensstand ist die kostengünstigste Lösung momentan die Nutzung von OpenOCD mit einem FT2232 basiertem Adapter. OpenOCD funktioniert auf vielen Platformen und es sind einige Adapter von verschiedenen Anbietern verfügbar, welche den FTDI Chip nutzen. Einige Produkte sind am Ende dieses Dokumentes aufgeführt.

Wir nutzen den Turtelizer 2. Leider entspricht sein JTAG Stecker nicht dem gängigen und beim EIR verwendeten 20-poligen Standard, sondern dem 10-poligen AVR Layout. Ein spezieller Adapter ist erforderlich um ihn mit der 20-pin Stecker des EIR Boards zu verbinden.

OpenOCD unter Windows installieren

Warnung: Sie müssen den passenden USB Treiber verfügbar haben, bevor sie ihren JTAG Adapter mit einem USB Anschluss verbinden.

OpenOCD Binaries und der passende Turtelizer 2 Treiber für Windows sind auf unserer Download Seite und verfügbar.

Unter www.freddiechopin.info finden Sie eine Installation für andere Adapter. Offiziell unterstützte Treiber befinden sich hier im Ordner driver, einem Unterverzeichnis des Installationsordners. Sie sollten ebenfalls die Dokumentation für ihren jeweiligen Adapter konsultieren.

Verbinden sie ein Ende des USB Kabels mit dem PC und das andere mit dem JTAG Adapter. Windows wird die neue Hardware automatisch erkennen. Gleichzeitig erscheint die erste Seite des Assistenten für Neue Hardware gefunden. Folgen sie den Anweisungen. Stellen sie sicher das die Option Einen Ort auswählen als einzige ausgewählt ist.

Folgende Screenshots zeigen die Installation des Treibers für Turtelizer 2.

FTDI USB Treiber Installation Schritt 1 FTDI USB Treiber Installation Schritt 2 FTDI USB Treiber Installation Schritt 3 FTDI USB Treiber Installation Schritt 4 FTDI USB Treiber Installation Schritt 5 FTDI USB Treiber Installation Schritt 6 FTDI USB Treiber Installation Schritt 7
FTDI USB Treiber Installation Schritt 8 FTDI USB Treiber Installation Schritt 9 FTDI USB Treiber Installation Schritt 10 FTDI USB Treiber Installation Schritt 11 FTDI USB Treiber Installation Schritt 12 FTDI USB Treiber Installation Schritt 13 FTDI USB Treiber Installation Schritt 14

OpenOCD unter Linux installieren

Der OpenOCD Quellcode kannn aus dem SVN Repositorium unter developer.berlios.de/svn bezogen werden.

$ svn co -r 423 svn://svn.berlios.de/openocd/trunk openocd-r423
Die enthaltene README Datei enthält detaillierte Anweisungen. Einige essentielle Werkzeuge sind erforderlich um die binaries zu erstellen. Folgende Befehle können unter Debian genutzt werden um sicherzustellen das diese Werkzeuge vefügbar sind.
$ sudo apt-get install build-essential
$ sudo apt-get install automake
$ sudo apt-get install autoconf
Falls nicht bereits installiert, benötigen wir zusätzlich die FTDI support library. Es gibt zwei Variaten, wir entscheiden uns für die von FTDI:
$ wget http://www.ftdichip.com/Drivers/D2XX/Linux/libftd2xx0.4.13.tar.gz
$ tar -zxf libftd2xx0.4.13.tar.gz
$ sudo cp *.h /usr/local/include/
$ sudo cp libftd2xx.so.0.4.13 /usr/local/lib/
$ cd /usr/local/lib/
$ sudo ln -s libftd2xx.so.0.4.13 libftd2xx.so
$ sudo ln -s libftd2xx.so.0.4.13 libftd2xx.so.0
$ cd /usr/lib/
$ ln -s /usr/local/lib/libftd2xx.so.0.4.13 libftd2xx.so.0
/etc/fstab (sudo):
none /proc/bus/usb usbdevfs defaults,mode=0666 0 0
(use usbfs in 2.6 kernels, 'uname -a')
$ sudo mount -a
Im nächsten Schritt können wir OpenOCD mit folgenden Befehlen erstellen:
$ cd openocd-r423/
$ ./bootstrap
$ ./configure  --enable-ft2232_ftd2xx
$ make
$ sudo make install

Folgender Eintrag sollte in /proc/bus/usb/devices auftauchen nachdem der Turtlelizer 2 angeschlossen wurde:

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  4 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0403 ProdID=bdc8 Rev= 5.00
S:  Manufacturer=egnite
S:  Product=Turtelizer JTAG/RS232 Adapter
S:  SerialNumber=TLQ08BET
C:* #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
I:  If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=83(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms

OpenOCD unter Mac OS X installieren

Momentan haben wir kein Binär Paket für OS X. Daher müssen wir OS X aus dem Quellcode erstellen. Falls noch nicht geschehen, laden sie Xcode von developer.apple.com/tools/xcode/ herunter und installieren sie es. Xcode enthält alle GNU tools, welche zur Erstellung der OpenOCD binary aus dem Quellcode benötigt werden.

FTDI Disk Image Laden sie den Mac OS X Treiber von
www.ftdichip.com/Drivers/D2XX.htm herunter. Der Treiber ist in einem Disk Image gepack. Doppelklicken sie es um das Image einzubinden.

Um den Treiber zu installieren, führen sie folgende Befehle in einem Terminal Fenster aus:

$ cd /Volumes/PPC\ D2XX/D2XX/
$ sudo mkdir -p /usr/local/lib /usr/local/include
$ sudo cp bin/libftd2xx.0.1.0.dylib /usr/local/lib/
$ sudo ln -sf /usr/local/lib/libftd2xx.0.1.0.dylib /usr/local/lib/libftd2xx.dylib
$ sudo cp bin/ftd2xx.h /usr/local/include/
$ sudo cp Samples/WinTypes.h /usr/local/include/

Beziehen sie den OpenOCD Quellcode aus dem SVN Repositorium unter developer.berlios.de/svn . Dazu öffnen sie ein Terminal und geben folgendes ein:

$ svn co -r 423 svn://svn.berlios.de/openocd/trunk openocd-r423

Erstellen und installieren von OpenOCD für OS X ist identisch zu Linux. Geben sie folgendes in einem Terminal ein:

$ cd openocd-r423/
$ ./bootstrap
$ ./configure  --enable-ft2232_ftd2xx
$ make
$ sudo make install

Flashen der Firmware

Um sie mit dem Prozess des Flashens der Firmware auf dem EIR vertraut zu machen, werden wir den gesamtem Prozess schrittweise durchgehen.

Sie sollten sich einen neuen Ordner erstellen mit dem sie arbeiten. Alles geht in diesen Ordner, und alle Befehle werden aus diesem Ordner gestartet.

Als erstes kopieren Sie ihre Binär Datei in den Ordner, in diesem Dokument gehen wir davon aus dass, sie das Internetradio benutzen welches unter folgendem Link heruntergeladen werden kann:
eir-bin_1_1_0.bin

Als zweites laden Sie die Konfigurationsdatei für Open OCD herunter. Falls sie nicht den Turtleizer 2 benutzen modifizieren sie diese .
eirocd.cfg

Nun verbinden Sie den Turtlelizer 2 mit dem Stecker-Adapter und den Stecker-Adapter mit dem EIR.
chain setup

Wir beginnen mit dem Löschen der alten Firmware. Auf dem EIR board verbinden sie pins 34 und 36 von K3 (Port C) mit einem 2.54 mm Jumper. Drücken sie den Reset Knopf und entfernen sie den Jumper. Dies aktiviert den SAM-BA boot loader.
Firmware löschen

Um Zugang zum Board mit OpenOCD zu bekommen müssen sie OpenOCD mit der richtigen Konfigurationsdatei starten. OpenOCD sucht normalerweise nach einer Datei namens openocd.cfg, da sie möglicherweise einige unserer anderen Produkte ebenfalls benutzen, gaben wir ihnen Namen die das jeweilige Produkt repräsentieren. Um Konfigurationsdateien mit anderem Namen zu laden benutzen sie -f oder --file wenn sie möchten. Nun öffnen sie ihren bevorzugten command line interpreter, kurz CLI (möglicherweise nennen sie ihn Dos-Box, Text Terminal, Shell, Console...), und geben folgendes ein:

$ openocd -f eirocd.cfg

Da OpenOCD unseren letzten CLI blockiert, müssen wir einen weiteren starten. Nachdem wir OpenOCD erfolgreich gestarten haben, müssen wir über OpenOCD zu dem Board verbinden. Dazu nutzen wir Telnet wobei wir localhost und den port welcher in der eirocd.cfg eingetragen ist angeben.

$ telnet 127.0.0.1 4444

Die CPU läuft bereits, daher halten wir sie mit halt an.

> halt

Nun müssen wir flash bank 0 erkennen. Dies wird mit flash probe gemacht, welches folgende Syntax hat:

flash probe <bank>
Da wir bank 0 erkennen wollen geben wir folgendes ein:
> flash probe 0

Wir müssen unsere Binärdatei eir-bin_1_1_0.bin nach bank 0 bei offset 0 schreiben. Laut der Syntax von flash write_bank

flash write_bank <bank> <file> <offset>
sollte dies funktionieren:
> flash write_bank 0 eir-bin_1_1_0.bin 0

Der AT91SAM7 hat 2 Boot Modi, booten von ROM und booten von Flash, also müssen wir noch den Bootmodus setzen.

at91sam7 gpnvm <bank> <bit> <set|clear>
bootmodeflag
Flash set
ROM clear
> at91sam7 gpnvm 0 2 set

Um das EIR letztendlich vom Flash zu booten brauchen wir es nur noch zu resetten.

Externe Links

JTAG Adapter

Wir empfehlen bewusst keinen speziellen Adapter für das EIR. Bevor Sie einen kaufen, stellen Sie sicher, dass ihr Betriebssystem und der AT91SAM7SE512 Prozessor voll unterstützt werden.

www.amontec.com
Amontec ist spezialisiert auf JTAG Adapter, die meisten werden offiziell von OpenOCD unterstützt.

microcontrollershop.com
MicroController Pros Corporation betreibt einen Online Shop, welcher eine große Variation von JTAG Adaptern von verschiedenen Lieferanten anbietet.

www.olimex.com
Olimex ist bekannt für die niederigen Preise. Sie bieten 2 verschiedene JTAG Adapter an.

www.signalyzer.com
Xverve Technologies Inc. bietet das Signalyzer Tool an.

www.zylin.com
Wenn Sie endgültig die Nase von fehlgeschlagenen Installationen und USB Driver-Abstürzen voll haben, ist der ZY1000 das richtige für Sie. Tatsächlich läuft auf dem Adapter ein kleines Linux-System mit OpenOCD. Die Verbindung kann direkt über TCP/IP hergestellt werden, zum Beispiel mit dem Webbrowser. Dieser Luxus hat natürlich seinen Preis.

Zurück zur EIR Projektseite.