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.
10 2020 Elektronik 31 Embedded-Systeme mit einem Tool in einem Abhängigkeitsdiagramm visualisieren Bild 4 Eine solche visuelle Zusammenfassung des Anwendungsdesigns liefert die Gewissheit dass der Anwendungscode wie vorgesehen funktioniert Außerdem kann sie Bugs aufdecken die mit falschen oder fehlenden Aufrufen von Programmierschnittstellen zusammenhängen und somit zu Stabilitätsproblemen führen können Ein gutes Tracing-Tool sollte Entwicklern außerdem die Möglichkeit zum Aufzeichnen individueller anwendungsspezifischer Daten im Rahmen des Trace-Streams geben Bild 5 Die betreffenden Ereignisse sind für beliebige Zwecke zu verwenden Gängig ist jedoch das Aufzeichnen wichtiger Variablenwerte und Zustandsänderungen aus dem Anwendungscode Prioritätsinversion auf dem Mars Ein höchst prominentes und kostspieliges Beispiel für die Art von Schwierigkeiten trat während der Pathfinder-Mission der NASA auf bei der 1997 ein Rover auf dem Mars gelandet wurde Während der Mission kam es im Raumfahrzeug zu kompletten SystemResets die Datenverluste zur Folge hatten Nach erheblichen Problemen fand die NASA heraus dass die Ursache in einem klassischen RTOS-Problem lag das als Prioritätsinversion bekannt ist Zu einer Prioritätsinversion kann es kommen wenn eine Task hoher Priorität die rot dargestellte Task Hin Bild 6 auf eine geteilte Ressource wie etwa eine Kommunikationsschnittstelle zugreifen will die gerade von einer Task mit geringerer Priorität Task Lgrün genutzt wird Task Hwürde normalerweise für eine kurze Zeitspanne blockiert bis Task Ldie geteilte Ressource freigibt Zu einer Prioritätsinversion kommt es wenn an der Stelle eine Task mittlerer Priorität Task Mgelb Task Lunterbricht und die hoch priore Task dadurch verzögert wie in Bild 6 dargestellt Bei der PathfinderMission der NASA führte das zu wiederholten Timeout-Fehlern mit daraus resultierenden Resets Datenverlusten und beinahe zu einem Fehlschlag der Mission Mit Tracing können Entwickler Probleme dieser Art detektieren und vermeiden Es umfasst das Aufzeichnen des Softwareverhaltens zur Laufzeit um die gesammelten Trace-Daten im Nachgang zu analysieren Weiterhin erfolgt das Tracing oftmals im Entwicklungslabor ist jedoch ebenso in der Produktion nutzbar Im Labor ist es ununterbrochen aktiv um das Verhalten aufzuzeichnen und Fehler nach dem Deployment aufzudecken Das Produktions-Tracing kann eine effektive Technik zum Detektieren selten auftretender Fehler sein die sich in einem Debugger jedoch schwer reproduzieren lassen Unter anderem kann es um Fälle gehen in denen ein System langsamer reagiert als erwartet falsche oder suboptimale Ergebnisse ausgibt stehen bleibt oder abstürzt Schluss mit dem Rätselraten Das Debugging RTOSbasierter Systeme lässt sich drastisch vereinfachen verbunden mit einem Reduzieren der Debugging-Zeit von Tagen oder Wochen auf lediglich Stunden sowie besseren Einblickmöglichkeiten in deren Echtzeitverarbeitung Nötig ist hierfür ein Software-Tracing auf der RTOS-Ebene Hier ist ein gutes Visualisieren entscheidend dafür um verwertbare Informationen aus den Daten extrahieren zu können Zwar gibt es durchaus mehrere Tools die ein einfaches RTOS-Tracing bieten jedoch wird es erst mit einer ausgefeilten Visualisierung deutlich einfacher den Trace zu verstehen wichtige Probleme zu identifizieren und die Möglichkeiten zu verifizieren TS Bild 5 Percepio Tracealyzer macht es möglich Anwendungsdaten aufzuzeichnen und über die Zeit grafisch darzustellen Bild Percepio Bild 6 Prioritätsinversion dargestellt in Percepio Tracealyzer Bild Percepio Dr Johan Kraft Dr Johan Kraft ist CEO und Gründer von Percepio einem schwedischen Unternehmen das die TracealyzerVisualisierungstools entwickelt Dr Kraft hat einen Doktortitel in Informatik inne Seine akademische Arbeit konzentrierte sich auf praktische Methoden zur Zeitanalyse von eingebetteter Software die in enger Zusammenarbeit mit der regionalen Industrie durchgeführt wurde Vor seiner Promotion arbeitete er als Entwickler von Embedded-Software mit dem Schwerpunkt auf Steuerungssoftware für Industrieroboter johan kraft@percepio com