News

2009-10-15: Vermeiden von Laufzeitkonflikten in Embedded Software mit MICROSAR OS

Bei der Entwicklung von Steuergerätesoftware muss neben der korrekten Codierung auch das Laufzeitverhalten der verschiedenen Routinen getestet werden. Damit stellt der Entwickler sicher, dass die vorgegebenen Zeitfenster eingehalten werden und dass es nicht zu Instabilitäten kommt. Die Ermittlung der Laufzeiten und die Prüfung auf Laufzeitkonflikte ist jedoch nicht einfach.

Das Betriebssystem MICROSAR OS erleichtert diese Aufgabe, indem es selber die Laufzeiten von Tasks und Interrupt Service Routinen (ISR) misst. Der Entwickler liest über eine Funktionsschnittstelle die Messdaten aus. Dies bietet eine Reihe von Vorteilen: Die Analyse des Zeitverhaltens erfolgt mit dem TimingAnalyzer, einem PC-basierten Analysewerkzeug, welches im Lieferumfang des Betriebssystems enthalten ist. Der Entwickler gibt die gemessenen Laufzeiten der Tasks und ISRs seiner Anwendung zusammen mit den Task-Prioritäten, den Zeitlimits und der typischen Zykluszeit in den TimingAnalyzer ein. Anhand dieser Daten prüft der TimingAnalyzer, ob die vorgegebenen Zeitlimits jederzeit von allen Routinen eingehalten werden. Das berechnete zeitliche Verhalten wird grafisch dargestellt. Rechenzeitüberschreitung durch Unterbrechung des TASK A durch die Interrupts  ISR2 und ISR1
Mit Hilfe des TimingAnalyzers kann der Software-Ingenieur schnell und einfach verschiedene Lösungsszenarien testen, wie z.B. Prioritätsumschichtungen oder das Auslagern von Funktionen in Tasks mit niedrigerer Priorität oder Taktung.

[Weitere Informationen erhalten Sie auf Anfrage]