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:
- Das Einfügen von Testcode in die Anwendungsroutinen entfällt.
- Einfaches Ein- und Ausschalten der Messfunktion über ein grafisches Konfigurationswerkzeug.
- Es werden sowohl die Laufzeiten als auch die Sperrzeiten gemessen.
- Bei der Laufzeitmessung werden Unterbrechungen durch ISRs und Tasks höherer Priorität berücksichtigt.
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.

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]