Debugging mit Cortex-M3-Mikrocontrollern

Die Cortex-M3-Mikrocontrollerfamilie ist mit der neuen Debug- und Trace-Einheit „ARM CoreSight“ ausgestattet. Gegenüber bisherigen On-Chip-Debug-Lösungen weist CoreSight eine ganze Reihe neuer Funktionen auf, die fast an...

Die Cortex-M3-Mikrocontrollerfamilie ist mit der neuen Debug- und Trace-Einheit „ARM CoreSight“ ausgestattet. Gegenüber bisherigen On-Chip-Debug-Lösungen weist CoreSight eine ganze Reihe neuer Funktionen auf, die fast an einen traditionellen In-Circuit-Emulator heranreichen. Trotzdem geht CoreSight ökonomisch mit den knappen externen Anschlüssen des Chips um.

Von Reinhard Keil

Der Cortex-M3-Prozessor von ARM ist mit der Debug- und Trace-Technik „ARM Core-Sight“ ausgestattet, die die Funktionen des klassischen On-Chip-Debugging-Blocks „Embedded ICE“ deutlich vergrößert. Zusätzlich zum normalen Debugging mit Programmablaufsteuerung wartet die CoreSight-Technik mit On-the-Fly-Speicherzugriff, Daten-Tracing, Event-Tracing und Instrumentation-Tracing über einen herkömmlichen, preisgünstigen JTAGAnschluss auf. Zusammen mit Entwicklungs-Tools nach neuestem Stand der Technik sorgen diese neuen Methoden für eine erhebliche Beschleunigung der Software-Verifikation und des Debuggings von Programmen.

Bevor es das On-Chip-Debugging gab, setzten die meisten Software-Entwickler teure In-Circuit-Emulatoren (ICE) zum Testen von Applikationen auf Mikrocontrollern ein. Anspruchsvolle Emulatoren wurden über komplexe Adapter angeschlossen und boten außerdem weitreichende Befehls- und Daten-Tracing-Fähigkeiten mit komplexen Triggerfunktionen.

Diese Emulatoren basierten auf speziellen Bond-out-Bausteinen, die von den Bauelementen aus der Serienproduktion abwichen und im Vergleich zu normalen Mikrocontrollern sehr teuer waren. Die sehr hohen Taktfrequenzen moderner Mikrocontroller und die miniaturisierten Gehäuse mit Unmengen von Anschlüssen machen die Nutzung der traditionellen ICE-Technologie mittlerweile unmöglich.

Moderne Mikrocontroller sind mit On-Chip-Debugging-Logik ausgestattet, die den Speicher, die CPU-Register und die Programmverarbeitung einer Beobachtung zugänglich macht. Diese Logik ist in allen Bausteinen aus der Serienfertigung enthalten und deshalb in ihrem Umfang begrenzt, um keine Mehrkosten entstehen zu lassen. Da der Zugriff jedoch meist über ein standardmäßiges JTAG-Interface erfolgt, fehlt es zudem an der für das Instruction-Tracing erforderlichen zusätzlichen Bandbreite, und so beschränkt sich der Großteil der On-Chip-Debug-Implementierungen auf die einfache Ablaufsteuerung des Programms mit einem begrenzten Umfang an Breakpoint-Features. Mikrocontroller auf Basis des Cortex-M3-Prozessors sind dagegen mit ARMs Core-Sight-Debug-Technologie ausgestat tet, die – über einen konventionellen JTAG-Anschluss und ohne teure Hardware – nützliche Trace-Informationen zur Verfügung stellt (Tabelle).