Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

JTAG-Chain

7 views
Skip to first unread message

Michael Eggert

unread,
May 22, 2013, 3:11:41 PM5/22/13
to
Moin!

JTAG sollte doch eigentlich ein hersteller�bergreifender Standard
sein, oder? Nehmen wir also mal an, ich bastel mir eine JTAG-Chain aus
ein paar Altera-FPGAs, einer Prise Lattice PLL-Bausteinen und garniere
das ganze vielleicht noch mit einer handvoll Atmel Xmegas - allesamt
mit JTAG-Schnittstelle.

Nun k�nnte ich ja auf die Idee kommen, diese JTAG-Chain auch
tats�chlich zur Programmierung nutzen zu wollen. Wie es scheint, will
aber jede bei den Entwicklungsumgebungen mitgelieferte Programmer-
Software ausschlie�lich die ICs des eigenen Herstellers programmieren,
und das auch noch ausschlie�lich mit dem eigenen Kabel (wie war das
noch gleich mit Standard?)

Bevor ich da nen unbrauchbaren Mist zusammenbaue... wie schaut das
denn sonst in der Praxis aus? K�nnen die Programmer wenigstens trotz
"fremden" ICs in der Chain auf die eigenen Bausteine zugreifen, oder
bringt vielleicht sogar das schon �rger? Baut man besser mehrere
Chains parallel auf, f�r jeden Hersteller eine?

Gru�,
Michael.

Martin Laabs

unread,
May 22, 2013, 3:20:49 PM5/22/13
to
Hallo,

Michael Eggert <m.egge...@web.de> wrote:

[...]

> Bevor ich da nen unbrauchbaren Mist zusammenbaue... wie schaut das
> denn sonst in der Praxis aus? K�nnen die Programmer wenigstens trotz
> "fremden" ICs in der Chain auf die eigenen Bausteine zugreifen, oder
> bringt vielleicht sogar das schon �rger? Baut man besser mehrere
> Chains parallel auf, f�r jeden Hersteller eine?

Das kommt darauf an ...
Wenn Du z.B. openocd benutzt, dann kannst Du den Chain ohne gro�e Probleme
bauen. Xinlinx z.B. bietet bei dem Programmtool z.B. auch an, den Chain
zu konfigurieren.
Ich kenne aber auch kommerzielle Programmierer die das nicht koennen.
Und weil es eben gerade fuer das Programmieren eine so elendige Frickelei
ist habe ich mir angewoehnt einen HDI Stecker mit allen einzelnen JTAG
Signalen herauszufuehren und mir dann eine Adapterplatine zu basteln die
mir die einzelnen JTAG Signale auf die 20-Poligen Stecker aufteilt.

Viele Gruesse,
Marti
Das kommt darauf an ...
Wenn Du z.B. openocd benutzt, dann kannst Du den Chain ohne gro�e Probleme
bauen. Xinlinx z.B. bietet bei dem Programmtool z.B. auch an, den Chain
zu konfigurieren.
Ich kenne aber auch kommerzielle Programmierer die das nicht koennen.
Und weil es eben gerade fuer das Programmieren eine so elendige Frickelei
ist habe ich mir angewoehnt einen HDI Stecker mit allen einzelnen JTAG
Signalen herauszufuehren und mir dann eine Adapterplatine zu basteln die
mir die einzelnen JTAG Signale auf die 20-Poligen Stecker aufteilt.

Viele Gruesse,
MartIn

> Gru�,
> Michael.

Klaus Bahner

unread,
May 22, 2013, 3:34:38 PM5/22/13
to
On 22-05-2013 21:11, Michael Eggert wrote:
> Moin!
>
> JTAG sollte doch eigentlich ein hersteller�bergreifender Standard
> sein, oder? Nehmen wir also mal an, ich bastel mir eine JTAG-Chain aus

Ohne jemals den JTAG Standard gelesen zu haben, aber aus praktischer
Erfahrung heraus: die Hersteller sind nicht verpflichtet, ein komplettes
und kompatibles JTAG Protokoll zu implementieren. Oftmals sind
ueberhaupt keine Chainkommandos implementiert, das heisst du kannst noch
nicht einmal davon ausgehen, dass du mehrer Chips des gleichen
Herstellers auf einem JTAG-Bus ansprechen kannst.


> "fremden" ICs in der Chain auf die eigenen Bausteine zugreifen, oder
> bringt vielleicht sogar das schon �rger? Baut man besser mehrere

Kann Aerger geben, insbesondere wenn du JTAG fuer On-Chip-Debug benutzen
moechtest. JTAG chaining und dessen Begrenzungen sind aber normalerweise
explizit in der Chipdoku beschrieben. Nicht zu vergessen ist, dass auch
die benutzten Programmierer JTAG chain faehig sein muessten (-> teuer).

> Chains parallel auf, f�r jeden Hersteller eine?

Ich halte das im allgemeinen fuer empfehlenswert - und hab das auch
immer so gemacht/machen muessen. Erspart 'ne Menge Aerger beim Debug.


Gruss
Klaus

Michael Eggert

unread,
May 22, 2013, 4:06:21 PM5/22/13
to
Martin Laabs <ne...@martinlaabs.de> wrote:

Moin!

>Wenn Du z.B. openocd benutzt, dann kannst Du den Chain ohne gro�e Probleme
>bauen.

Damit hab ich tats�chlich schonmal gespielt. Trotz angeblich korrekter
Eintr�ge im Config-File und Kontrolle von VID&PID wollte das Programm
meinen Terasic Blaster ums Verrecken nicht erkennen (auf zwei
Rechnern, XP und Win7). Auch Google fand zwar reichlich Forenbeitr�ge
zu �hnlichen Problemen, aber keine der dort genannten Ursachen passte
zu meinem. Vielleicht lags ja an genau dieser kompilierten Version,
die ich im Netz gefunden hatte...

>Und weil es eben gerade fuer das Programmieren eine so elendige Frickelei
>ist habe ich mir angewoehnt einen HDI Stecker mit allen einzelnen JTAG
>Signalen herauszufuehren und mir dann eine Adapterplatine zu basteln die
>mir die einzelnen JTAG Signale auf die 20-Poligen Stecker aufteilt.

Hm, bequem klingt das aber auch nicht...

Gru�,
Michael.

Michael Schwingen

unread,
May 22, 2013, 4:21:33 PM5/22/13
to
On 2013-05-22, Michael Eggert <m.egge...@web.de> wrote:
> Bevor ich da nen unbrauchbaren Mist zusammenbaue... wie schaut das
> denn sonst in der Praxis aus? Kᅵnnen die Programmer wenigstens trotz
> "fremden" ICs in der Chain auf die eigenen Bausteine zugreifen, oder
> bringt vielleicht sogar das schon ᅵrger? Baut man besser mehrere
> Chains parallel auf, fᅵr jeden Hersteller eine?

Das scheint mir zumindest am schmerzᅵrmsten - niemand zwingt die Hersteller,
die Programmierdongel universell auszulegen, Standard hin oder her ...

Wenn Du mehrere Bausteine verkettest: unbedingt auf die Signalintegritᅵt des
Clocks achten ... man ist da schnell an dem Punkt, wo man Terminierung und
Clockbuffer braucht.

cu
Michael

Uwe Bonnes

unread,
May 22, 2013, 4:50:38 PM5/22/13
to
Michael Schwingen <news-13...@discworld.dascon.de> wrote:
> On 2013-05-22, Michael Eggert <m.egge...@web.de> wrote:
> > Bevor ich da nen unbrauchbaren Mist zusammenbaue... wie schaut das
> > denn sonst in der Praxis aus? K�nnen die Programmer wenigstens trotz
> > "fremden" ICs in der Chain auf die eigenen Bausteine zugreifen, oder
> > bringt vielleicht sogar das schon �rger? Baut man besser mehrere
> > Chains parallel auf, f�r jeden Hersteller eine?

> Das scheint mir zumindest am schmerz�rmsten - niemand zwingt die Hersteller,
> die Programmierdongel universell auszulegen, Standard hin oder her ...

Standards sind so etwas Schoenes, das jeder seinen eigenen haben will :-(
--
Uwe Bonnes b...@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------

Michael Eggert

unread,
May 22, 2013, 7:47:07 PM5/22/13
to
Uwe Bonnes <b...@elektron.ikp.physik.tu-darmstadt.de> wrote:

Moin!

>Standards sind so etwas Schoenes, das jeder seinen eigenen haben will :-(

Wie gut, da� MS keine ICs baut. :-)

Gru�,
Michael.

Martin Laabs

unread,
May 23, 2013, 1:14:09 AM5/23/13
to
Hallo,

Michael Eggert <m.egge...@web.de> wrote:
> Martin Laabs <ne...@martinlaabs.de> wrote:

> >Wenn Du z.B. openocd benutzt, dann kannst Du den Chain ohne gro�e Probleme
> >bauen.

> Damit hab ich tats�chlich schonmal gespielt. Trotz angeblich korrekter
> Eintr�ge im Config-File und Kontrolle von VID&PID wollte das Programm
> meinen Terasic Blaster ums Verrecken nicht erkennen

Ja - man braucht etwas Leidensfaehigkeit bis openocd geht. Dann
aber meiner Erfahrung nach sehr zuverlaessig. Aber openocd
und USB und Windows ist etwas was ich tatsaechlich zu vermeiden
suche weil man idR. noch irgendeinen halb zusammengestrickten Trei-
ber in Anlehnung ans libusb braucht.
Auf Linux/BSD Rechnern ist das idR. wesentlich angenehmer.


> >ist habe ich mir angewoehnt einen HDI Stecker mit allen einzelnen JTAG
> >Signalen herauszufuehren und mir dann eine Adapterplatine zu basteln die
> >mir die einzelnen JTAG Signale auf die 20-Poligen Stecker aufteilt.

> Hm, bequem klingt das aber auch nicht...


Naja - es ist nicht ganz so schlimm. Wenn man ein z.B. CPLD
und eine CPU hat kann man aber auch den CPLD (software)
JTAG auch von der CPU her programmieren. Dann kann man
den CPLD auch in Software updaten. Muss sich dann halt ein
bisschen JTAG-Bitbang schreiben.

Viele Gruesse,
Martin
0 new messages