Hallo, ich habe mir nun schon ein paar mal den Wiki Artikel zu JTAG durchgelesen und werde nicht so ganz schlau draus. Wie es mir scheint sieht JTAG es vor, dass mehrere Geräte an einen Programmer angeschlossen werden können. Stimmt das? Und wie kann ich dem Programmer sagen welchen er beschreiben/debuggen soll? Und kann ich da auch vollkommen verschiedene Geräte zusammen schließen? Also ich hätte hier einen ARM Cortex M4 und einen Xilinx Spartan FPGA im Angebot.
Ja, dazu ist JTAG gemacht. Im Prinzip lässt sich nahezu jedes* JTAG Device in den BYPASS Modus schalten, dann hat es genau einen TCK Takt lang Verzögerung zwischen TDI und TDO. Wie genau du dem entsprechenden Programmier-Tool beibringst, wieviele und welche Chips da in der Kette sind, ist abhängig vom Programm. Einige wollen die Länge der Instruktionsregister vor und nach dem zu programmierenden Chip wissen, andere können BSDL Files einlesen, da steht alles wichtige drin. Xilinx Impact erkennt automatisch, dass da mehrere Chips sind und fragt entweder nach BSDL File oder Istruction Register Länge. Dann kann es alle nicht benutzten Chips in BYPASS schalten. * Der MSP430 bildet da leider die unrühmliche Ausnahme, er kann nicht mit anderen Chips in einer Kette betrieben werden.
Das heißt ich müsste nun noch rausfinden ob das Tool womit der Coretex programmiert wird das auch unterstützt? Und dann hab ich noch eine Frage zu JTAG: Die Alternative für den Fall das das mit dem in Serie schalten nicht funktioniert wäre der FT2232H, der zwei JTAG Interfaces über USB zur Verfügung stellt. Wie sieht es bei dem Chip aus in sachen Kompatibilität mit Programmier-Software? Als was werden die Schnitstellen erkannt und wie sind da die Changen, dass Xilinx und der Cortex (von Freescale) das unterstützen?
Fabian S. schrieb: > der FT2232H, > der zwei JTAG Interfaces über USB zur Verfügung stellt. Nur einen, meines Wissens. Der andere Kanal kann nur "plain RS-232". ARMs kann man damit auf jeden Fall programmieren (siehe OpenOCD), für Xilinx müsstest du dich mal schlau machen.
Jörg Wunsch schrieb: > Nur einen, meines Wissens. Der andere Kanal kann nur "plain RS-232". Das steht dazu im Datenblatt: The FT2232H has two independent configurable interfaces. Each interface can be configured as UART, FIFO, JTAG, SPI, I2C or bit-bang mode with independent baud rate generators. Werd mich dann mal weiter schlau machen. Nur da es den Cortex M4 quasi noch nicht gibt ist das ganz schön schwer, wir bekommen trotz NDA erst Anfang Oktober die Datenblätter zu dem Teil :-/
Bei ARM und Xilinx würde ich zumindest prinzipiell davon ausgehen, dass du sie verketten kannst. Wäre ggf. halt eine Frage, deinen ARM-Code in ein BSDL-File zu konvertieren.
Naja, ein BSDL File wirds ja hoffentlich vom Hersteller geben. Das geht an sich problemlos. Bisher kenne ich nur den MSP430, der partout nicht so recht mitspielen will. Ansonsten ist das vollkommen normal und üblich, die Chips zu verketten. Bei komplexen Geräten haben wir teilweise über 40 Chips in einer Kette hier.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.