Suchen

Meilensteine der Elektronik Dem Softwareverhalten im Mikrocontroller auf der Spur

| Autor / Redakteur: Stuart Cording * / Franz Graser

Seit über 30 Jahren gibt es eine kleine blaue Box, die Einblicke in die inneren Abläufe von Embedded-Systemen liefert, um sichere und zuverlässige mikrocontrollerbasierte Produkte auf den Markt zu bringen.

Firmen zum Thema

Testbett: Tool-Prüfstand für automatisierte Regressionstests, die auf unterschiedlichen Hardware-Plattformen und Zielsystemen ausgeführt werden.
Testbett: Tool-Prüfstand für automatisierte Regressionstests, die auf unterschiedlichen Hardware-Plattformen und Zielsystemen ausgeführt werden.
(Bild: iSYSTEM)

Als iSYSTEM in den achtziger Jahren gegründet wurde, war der Z80 von Zilog ein in Embedded-Systemen vielfach eingesetzter Prozessor. Zur Analyse des Programmablaufs wurde ein softwarebasiertes „Monitor“-Programm samt Anwendercode auf den Prozessor geladen. Über diesen konnte der Entwickler mit seinem Entwicklungs-PC den Status der Register und Inhalt des Speichers über eine zur Verfügung stehende Schnittstelle abfragen. Der Prozessor musste hierfür allerdings angehalten werden. Komfortableres Auffinden von Fehlern war da noch nicht möglich. In einem Embedded-System, das viele asynchrone Ereignisse bearbeiten muss, besteht jedoch der Bedarf, die inneren Abläufe im Prozessor in Echtzeit zu beobachten.

Der iSYSTEM iC80 (1986) war eine der ersten „blauen Boxen“ (engl. „BlueBox“), die eine solche Funktionalität zur Verfügung stellte. Dieses Produkt, ein sogenannter „In-Circuit Emulator“ oder „ICE“, ersetzte den Prozessor über einen DIL-Sockel, der über ein Flachbandkabel mit der BlueBox verbunden war. Solche ICE-Geräte waren aufwendig in der Entwicklung und teuer in der Anschaffung, da jedes einzelne Detail des eigentlichen Prozessors wie Register, Speicher und dergleichen originalgetreu nachgebildet wurde.

Zyklusgetreue Emulation des Originalprozessors

Die Anfänge: Die BlueBox des Typs iCZ8 diente als Emulator für die populären Mikroprozessoren der Zilog-Baureihe Z8.
Die Anfänge: Die BlueBox des Typs iCZ8 diente als Emulator für die populären Mikroprozessoren der Zilog-Baureihe Z8.
(Bild: iSYSTEM)

Das schloss auch die dann bekannten Fehler im Silizium mit ein. Der Nutzen eines ICE war die zyklusgetreue Emulation des originalen Prozessors, insbesondere bevor das eigentliche Silizium auf dem Markt und zur Produktion verfügbar war. Die steigende Anzahl von Transistoren sowie der Sprung von 8- auf 16- bzw. 32-Bit Prozessorarchitekturen und die zunehmende Flexibilität der Entwickler auf unterschiedlichsten Architekturen zu entwickeln, brachte auch Änderungen in der Werkzeuglandschaft mit sich. Die Herstellung von ICE-Geräten wurde immer komplizierter und damit zu teuer. Andere und flexiblere Zugriffs-Lösungen auf Mikrocontroller (MCU) entstanden.

In den 90-er Jahren setzte sich die Miniaturisierung der Transistoren und damit der Preisverfall dieser Komponenten fort. Zudem wurde Chipfläche ohne zusätzliche Kosten frei. Dadurch wurde es möglich, eine Debugging-Einheit direkt auf dem Silizium zu realisieren, die über eine standardisierte Schnittstelle zugänglich sein sollte. Mit dieser Änderung war es iSYSTEM möglich, die BlueBox-Technologie zu revolutionieren. 1999 wurde der iC3000, ein FPGA-basierter On-Chip-Debugger, im Markt eingeführt.

Obwohl der Zugang zum Mikrocontroller über die JTAG-Schnittstelle standardisiert war, variierte diese von Prozessor zu Prozessor sehr. Proprietäre Schnittstellen wie BDM (Background Debug Mode, damals von Freescale definiert) und N-WIRE (damals von NEC initiiert) oder auch andere serielle Protokolle kamen hinzu. iSYSTEM reagierte darauf mit einer austauschbaren Interface-Karte (iCARD), damit der iC3000 mit mehreren MCUs verwendet werden konnte. Hiermit ging diese Industrie einen weiteren Schritt in die Richtung des „Heiligen Grals“ – einer generischen Box, die eine Vielzahl von MCUs debuggen konnte.

Ein Prüfwerkzeug für alle Prozessortypen

Metamorphose: Aus einem Tool pro Prozessor ist ein Tool für alle Prozessoren geworden.
Metamorphose: Aus einem Tool pro Prozessor ist ein Tool für alle Prozessoren geworden.
(Bild: iSYSTEM)

Die Verkleinerung der Mikrocontroller nahm ab dem Jahr 2000 weiter zu. Einher ging die Integration von für ursprünglich PCs entwickelten Eigenschaften wie Multi-Core, Ethernet und USB Kommunikationsbausteine und dergleichen. Das Resultat waren kostengünstige Controller mit steigendem Funktionsumfang.

Dies hatte auch Auswirkungen auf die eigentliche Softwareentwicklung für solche Systeme. Was zuvor von einzelnen Entwicklern alleine bewältigt wurde, war dann schlichtweg zu komplex und kostenintensiv. Deshalb waren Entwickler angehalten, Software-Bibliotheken von MCU-Herstellern oder Drittanbieter zu verwenden und die Entwicklung über mehrere Teams zu verteilen.

Heutzutage ist es selten, dass ein einziger Entwickler den vollen Überblick über ein Embedded-Entwicklungsprojekt hat. Vielmehr ist es die Aufgabe eines Integrators, mehrere hundert Softwaremodule von seinem eigenen Team und Drittanbietern zusammenzubringen, während dem nicht nur die richtige Funktionalität gewährleistet werden muss, sondern – etwa im Fall von Automotive-AUTOSAR-Projekten – auch „harte“ Echtzeitanforderungen erfüllt werden müssen, um etwa ISO 26262-Sicherheitsanforderungen zu erfüllen.

Der On-Chip-Analyser iC5500 von iSYSTEM mit seiner Unterstützung für Multi-Core MCUs, großem Trace-Puffer, sowie Daten und Programm Trace, liefert dem Integrator den Einblick, den man benötigt, um sichere und zuverlässige Produkte basierend auf Multi-Core marktreif zu entwickeln.

Innenhalb der letzten 30 Jahre ist aus einer „ein Tool pro Prozessor“-Vorgehensweise eine nahezu „ein Tool für alle Prozessoren“-Entwicklung und Mess-Plattform entstanden. Entwicklungswerkzeuge sind heute kompakter, generischer und insbesondere auf die Aufnahme von großen Datenmengen in Echtzeit ausgelegt. Was werden die nächsten Jahre bringen? Diese Frage können wir heute leider noch nicht vollständig beantworten. Mit Rückblick auf die Vergangenheit bleibt es auf jeden Fall innovativ und gleichzeitig spannend.

* Stuart Cording ist Technical Marketing Manager der iSYSTEM AG mit Sitz in Schwabhausen in der Nähe von München.

Artikelfiles und Artikellinks

(ID:44148774)