Systementwicklung
Teil 2: SoCs für Debugging-Fähigkeiten entwickeln

Ein Gastbeitrag von Frank Riemenschneider, Senior Marketing Engineer bei Lauterbach 6 min Lesedauer

Anbieter zum Thema

In Teil 1 wurde die Bedeutung von Debugging und Tracing bei der Entwicklung von SoCs diskutiert. In Teil 2 geht es um Sicherheitsaspekte, Off-Chip-Trace-Funktionen und die wichtigsten IP-Blöcke für eine leistungsstarke Debug-Infrastruktur.

Trace-Visualisierung in der TRACE32-PowerView-Software: Wenn ein SoC-Hersteller seine Chips von Anfang an so gestaltet, dass sie „einfach und leicht debugbar“ sind, erspart er Kunden in späteren Phasen der Entwicklung viele potenzielle Probleme.(Bild:  Lauterbach)
Trace-Visualisierung in der TRACE32-PowerView-Software: Wenn ein SoC-Hersteller seine Chips von Anfang an so gestaltet, dass sie „einfach und leicht debugbar“ sind, erspart er Kunden in späteren Phasen der Entwicklung viele potenzielle Probleme.
(Bild: Lauterbach)

Ein aus Debugger-Sicht optimal gestalteter Chip bedeutet für den Kunden weniger Aufwand, eine schnellere Markteinführung und vor allem geringere Entwicklungskosten sowie für den Chip-Hersteller einen höheren Absatz, denn jedes fehlgeschlagene Projekt führt zu reduzierten Stückzahlen. In Teil 1 dieses Artikels wurde die Bedeutung von Debugging und Tracing für Time-to-Market diskutiert und erste wichtige Überlegungen für Debug-freundliche SoC-Designs angestellt. An dieser Stelle knüpft Teil 2 mit weiteren Punkten an.

Überlegungen für Debug-freundliche SoCs

Security: Die Implementierung von Sicherheitsmechanismen auf einem SoC ist für die Hersteller von entscheidender Bedeutung. Der Hersteller muss sich Gedanken über Bedrohungen und verschiedene Benutzertypen machen, welche Domänen für Debugging offen und welche gesperrt sein sollten und ob es zwischen ihnen Wechselwirkungen gibt. Auch die Signale für Reset und Power Down müssen im SoC getrennt werden. Debugging-Mechanismen bieten tiefen Zugriff auf interne Hardwareressourcen, was potenziell ein Einfallstor für Angreifer darstellt. Entwickler müssen daher Debugging-Schnittstellen standardmäßig deaktivieren oder durch Authentifizierung absichern. Nur autorisierte Benutzer sollten über diese Schnittstellen auf das System zugreifen können.