Der Blätterkatalog benötigt Javascript.
Bitte aktivieren Sie Javascript in Ihren Browser-Einstellungen.
The Blätterkatalog requires Javascript.
Please activate Javascript in your browser settings.
28 Elektronik 10 2020 Embedded-Systeme das Echtzeitverhalten des Systems voraussetzt Kommt es zu solchen Schwierigkeiten kann das Debugging zu einem Alptraum werden denn die Umstände die zu dem Problem geführt haben sind häufig nicht im Detail bekannt und lassen sich dementsprechend schwer reproduzieren Die Entwickler stochern hier oft im Nebel und müssen eine Möglichkeit nach der anderen ausprobieren um die Anwendung ordnungsgemäß zum Laufen zu bringen Um jedoch sicher sein zu können dass das Problem tatsächlich behoben ist muss ein Entwickler über die genaue Abfolge der Softwareereignisse Bescheid wissen die dazu geführt haben einschließlich der Interaktionen zwischen Anwendung und RTOS Traditionellen Debugging-Werkzeugen fehlt die Fähigkeit allerdings Die RTOS-Trace-Visualisierung kann man sich wie eine Zeitlupenaufnahme der internen Abläufe der Anwendung vorstellen Sie ist eine gute Möglichkeit sich Gewissheit darüber zu verschaffen dass eine RTOS-Software wie beabsichtigt funktioniert Außerdem ist sie die schnellste Möglichkeit zum Erkennen und Beseitigen von Fehlern Ein zweischneidiges Schwert Die Hauptaufgabe eines RTOS ist es das Multitasking zu ermöglichen Es gestattet ein Aufteilen der Funktion einer Software in mehrere parallele Programme sogenannte Tasks oder Aufgaben Ein RTOS schafft also die Illusion des Parallelbetriebs indem die Verarbeitung schnell von einer Task zur anderen wechselt Im Unterschied zu Universalbetriebssystemen gibt ein RTOS dem Entwickler die vollständige Kontrolle über das Multitasking und ermöglicht hiermit ein deterministisches Echtzeitverhalten Ein RTOS übernimmt die Kontrolle über die Programmausführung und führt einen neuen Abstraktionsgrad in die Form der Tasks ein Wird ein RTOS verwendet geht der Kontrollfluss eines Programms nicht mehr aus seinem Quellcode hervor denn das RTOS entscheidet welche Task zum jeweiligen Zeitpunkt ausgeführt wird Ähnlich wie der Umstieg von Assemblerauf C-Programmierung stellt das eine grundlegende Umstellung dar Dank des höheren Abstraktionsgrads macht das einen Produktivitätsgewinn möglich gleichzeitig bedeutet es jedoch dass weniger Kontrolle über einzelne Details besteht Wir haben es hier also mit einem zweischneidigen Schwert zu tun Das Design komplexer Anwendungen mag einfacher werden das Validieren und Debuggen kann sich hinterher jedoch schwieriger gestalten Ein RTOS kann zwar die Komplexität des Quellcodes der Anwendung reduzieren verringert Bild 2 Die Trace-Ansicht in Percepio Tracealyzer zeigt die Trace-Daten entlang einer vertikalen Zeitleiste Bild Percepio