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.
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-r423Die 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 autoconfFalls 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 -aIm 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.
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.
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.
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>
bootmode | flag |
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.