Neue Debug-Schnittstellen: weniger Leitungen, mehr Information

Der fast 20 Jahre alte JTAG-Quasi-Standard erfüllt bezüglich Geschwindigkeit, Pin-Anzahl und Robustheit bei weitem nicht mehr alle Anforderungen zum Debuggen und Testen moderner Mikrocontroller geschweige denn hochkomplexer SoCs. Neuentwicklungen wie der herstellerunabhängige Standard IEEE 1149.7 (compact JTAG), der Device Access Port (DAP) von Infineon oder die Schnittstelle Serial Wire Debug (SWD) von ARM versprechen Verbesserungen.

Der fast 20 Jahre alte JTAG-Quasi-Standard erfüllt bezüglich Geschwindigkeit, Pin-Anzahl und Robustheit bei weitem nicht mehr alle Anforderungen zum Debuggen und Testen moderner Mikrocontroller geschweige denn hochkomplexer SoCs. Neuentwicklungen wie der herstellerunabhängige Standard IEEE 1149.7 (compact JTAG), der Device Access Port (DAP) von Infineon oder die Schnittstelle Serial Wire Debug (SWD) von ARM versprechen Verbesserungen.

Von Heiko Rießland

Auf Mikrocontroller-Systeme muss in der Regel über den gesamten Lebenszyklus zugegriffen werden, wobei sich die Anforderungen an die Hard- und die Software-Werkzeuge allerdings in den einzelnen Phasen unterscheiden. Während der Entwicklung stehen schnellstmögliche Kommunikation mit dem Zielsystem, effektive Nutzung von On-Chip-Debug-Ressourcen und Nutzung der Debug-Schnittstelle auch für Flash-Programmierung, automatisierte Tests, Kalibrierung, Profiling usw. im Vordergrund.

In der Produktionsphase ist der Systemzugang hauptsächlich für die Flash-Programmierung und den Test erforderlich. Entscheidend sind hier schnelle Programmieralgorithmen für kurze Produktionszeiten, eine hohe Sicherheit durch verschiedene Stufen der Verifikation und die flexible Einbindung in typische Produktions- und Testumgebungen. In der Feldwartung schließlich kommt es neben Sicherheitsaspekten vor allem auf eine möglichst einfache, applikationsspezifische Bedienoberfläche für das Servicepersonal an.

Den unterschiedlichen Anforderungen optimal gerecht zu werden, gestaltet sich in der Praxis schwierig. Auch das zum Debuggen von Mikrocontrollern gern eingesetzte JTAG nach IEEE 1149.1 zeigt hier inzwischen immer deutlicher seine Schwächen. Der fast 20 Jahre alte Quasi-Standard erfüllt bezüglich Geschwindigkeit, Pin-Anzahl und Robustheit bei weitem nicht mehr alle Anforderungen zum Debuggen und Testen moderner Mikrocontroller, geschweige denn hochkomplexer SoCs.

Eine Motivation der Hersteller, nach neuen Lösungen zu suchen, ist die Verringerung der für das Debuggen notwendigen Pins. JTAG besteht aus einem Satz von mindestens fünf Steuerleitungen (TDI, TDO, TCK, TMS, TRST). Eine komplette Debug-Schnittstellen-Spezifikation umfasst darüber hinaus weitere Signale für Target-Reset und Target-Referenzspannung sowie herstellerspezifische Signale für das On-Chip-Debug-System. Jeder zusätzliche Pin verursacht Kosten und steht für die eigentliche Funktion des Mikrocontrollers nicht mehr zur Verfügung. Die häufig angebotene Auswahlmöglichkeit, Pins funktional oder alternativ als Debug-Schnittstelle zu nutzen, ist ein Kompromiss, der sich in der Praxis oft als untauglich erwiesen hat.