Hallo zusammen, in der Praxis habe ich es noch nicht erlebt, dass unterschiedliche JTAG-fähige Komponenten wie z.B. FPGAs und DSPs in einer JTAG-chain sind. Ist JTAG nicht gleich JTAG? Gruß Hendrik
Hi Hendrik, Ausser der 4 pins ist bei JTAG nix wirklich standardisiert ausser die State machine und der BYPASS-Befehl. Sogar die Spannungen können unterschiedlich sein (und nicht 3.3V tolerant) Blackfins und Xilinx-FPGA hänge ich eigentlich andauernd in die Chain. Das Hauptproblem bei nicht-homogenen Chains (d.h. aus Chips unterschiedlicher Hersteller) ist meistens nur, dass die "billigen" Tools damit nicht klarkommen, man also zu eher teuren Lösungen greifen oder sich mit wackligen Opensource-Lösungen für interconnection tests herumquälen muss. Manche Chips (ältere msp430) lassen sich aufgrund von Bugs nicht verketten. Bei den meisten ARM-Kernen sollte es mit OpenOCD keine Probleme mit DSPs geben. Gruss, - Strubi
Doch das klappt, das machen wir hier ständig. Zum Beispiel die TI DSPs in einer Kette mit Xilinx FPGAs. Man braucht dann nur die BSDL Files der Bausteine bzw. mindestens die Länge des Instruction Registers, damit die in den BYPASS Modus geschaltet werden können.
Wenn es schon hier erwähnt wird: Christian R. schrieb: > Doch das klappt, das machen wir hier ständig. Zum Beispiel die TI DSPs > in einer Kette mit Xilinx FPGAs. Setzen hier auch viele TI DSPs ein und neu auch Lattice FPGAs. Die Sachen setze ich auch in einer JTAG Chain zusammen, damit irgendwann mal jemand bei uns die JTAG Option des Flying-Probers nutzen kann. Meine Frage ist aber eine andere: Wie programmiert ihr die Bausteine in der Produktion? Meine Recherchen haben ergeben, dass es kaum Hersteller gibt, die TI DSPs programmieren können. Und genau diese können dann wieder nichts mit FPGAs (oder nur schon SVF Dateien) umgehen (Was alle anderen können ohne die TI DSPs...). Heisst dass wir für zwei Chips zwei Programmier Adapter und zwei Script Dateien benötigen und umgesteckt werden muss...
nuess0r schrieb: > Meine Frage ist aber eine andere: > Wie programmiert ihr die Bausteine in der Produktion? Entweder per Emulation (ladbares, per JTAG ferngesteuertes back end) oder Boundary Scan. Erstere Methode ist typischerweise schneller, funktioniert aber nur für gewisse Prozessorfamilien. BSCAN ist bei einer langen chain für die Massenfertigung meist zu langsam, klappt aber für fast jede Architektur. Der Trick für die meisten Plattformen ist dann ein kleiner first stage bootloader, der über eine andere (schnellere) Schnittstelle Code nachlädt. Bei TI war bisher der Wildwuchs an Chiparchitekturen für generische Emulationslösungen ein Hemmnis, zudem sind die Debugging-Spezifikationen m.W. nicht alle offen. Drum sind spezifische optimierte Programmierlösungen auch immer recht aufwendig.. Grüsse, - Strubi
Wir machen ja keine Massenproduktion. Die DSPs werden hier erstmalig im Rahmen der Inbetriebnahme per JTAG programmiert und dann bei Bedarf über die Anwendungssoftware neu programmiert. Bei Xilinx ist das ähnlich, da wird im Rahmen des Boundary Scan Tests mit der Göpel Software gleich beim Abschlusstest beim Auftragsfertiger der Flash mit programmiert und ist dann per Software aktualisierbar.
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.