Zitat Zitat von wkrug Beitrag anzeigen
3. JTAG ist eigentlich eine Debug Schnittstelle die bei den AVR's aber erst ab dem ATMEGA 16 funktioniert. Da hierbei während des Debug Vorgangs Breakpoints in das Programm eingefügt werden, ist auch eine Programmierung über JTAG möglich. JTAG benötigt exklusiv ein paar Pins die dann in der Zielschaltung nicht vernünftig genutzt werden können.
JTAG (Joint Test Action Group) war eigentlich ursprünglich nur für den Test von bestückten Leiterplatten gedacht und ist eine IEEE-Norm.
Die Idee war, dass wenn man alle Pins eines ICs setzen und Lesen kann, man eine bestückte leiterplatte auf das Vorhandensein aller Verbindungen und Kurzschlüsse testen kann. Dazu bekam dann jedes IC ein Schieberegister, welches im Testmodus mit den Pins verbunden ist. Diese Schieberegister lassen sich dann noch in Serie schalten.
Der nächste Schritt war es dann auch interne Funktionen eines ICs testen zu können.
Daraus entstanden dann auch noch die Möglichkeiten zum Debuggen und Programmieren.

Die Hardware-Schnittstelle ist unabhängig vom Hersteller genormt. Das Protokoll besteht dann aus allgemein genormten Befehlen und solchen die Hersteller-, bzw. IC-Spezifisch sind.


ISP (In System Programming) ist eigentlich ein Oberbegriff und sagt nur etwas über den Einsatz der Schnittstelle aus. JTAG ist auch ISP.

Ausser JTAG sind alle anderen Interface herstellerspezifisch und je nach IC-Familie und Generation auch sehr unterschiedlich.

MfG Peter(TOO)