Fehlerbehandlung in der Software

So ein Mikrocontroller hat die Eigenschaft, unabhängig und ohne jede Aufsicht laufen zu müssen. Das hat Konsequenzen für die Behandlung von Fehlern.

Schritte in der Fehlerbehandlung
Fehler erkennen
Fehler isolieren
Fehler beheben

Fehler erkennen
Es gibt verschiedene Arten von Fehlern, die es zu erkennen gilt. Da wären zunächst fehlerhafte Werte im System, das sind dann Datenfehler. Dann gibt es noch Fehler in der Ausführungszeit, die Laufzeitfehler. Es gibt außerdem noch Fehler in der Reihenfolge der Ausführung, die Programmfehler und der fehlerhafte Zugriff auf Systemressourcen, wie z.B. Speicher.

Fehler isolieren
Wenn erst einmal ein Fehler erkannt ist, gibt es verschiedene Möglichkeiten der Ursache. Die sind schon im Design des Systems zu definieren und dann als Ursache zuzuordnen. Zum Beispiel wenn ein Sensorwert außerhalb der Spezifikation liegt. Dann kann vielleicht ein defekter Sensor vorliegen, oder ein Fehler in der Umrechnung der Messwerte.

Fehler beheben
Wie ein Fehler zu beheben ist, hängt natürlich von seiner Ursache ab und den Möglichkeiten ohne Eingriff von außen darauf zu reagieren, so das das System weiterhin funktioniert. Um beim Beispiel mit dem Messwert außerhalb der Spezifikation zu bleiben kann man einfach den Wert so weiterbearbeiten wie er ist, oder einen Defaultwert ausgeben, bis die Spezifikation wieder eingehalten wird. Bei einem Laufzeitfehler, wie z.B. eine Endlosschleife, gibt es den „Watchdog“, der dann das System komplett neu startet.

Fehlerbehandlung während der Entwicklung der Software
Solange eine Software sich noch in der Entwicklungsphase befindet, empfiehlt es sich einen Fehlerpufferspeicher als Ringspeicher anzulegen. In diesem werden dann die Fehlermeldungen nacheinander abgelegt. Mithilfe dieses Ringpuffers lässt sich dann Nachverfolgen welche Fehler in welcher Reihenfolge auftauchen. Um daraus dann Rückschlüsse auf ihre Ursache zu ziehen. Diesen erweiterten Fehlerpufferspeicher kann man auch in der fertigen Software als Diagnosespeicher nutzen. In diesem werden dann alle Meldungen gespeichert und auf Anfrage ausgegeben.

Links

Fehlerbehandlung

Klicke, um auf AUTOSAR_EXP_ApplicationLevelErrorHandling.pdf zuzugreifen

Fehlerbeschreibung

Klicke, um auf AUTOSAR_EXP_ErrorDescription.pdf zuzugreifen

Aktivitäten im Softwareentwicklungs-Prozeß

Veröffentlicht von

Jürgen

Ich bin Software Ingenieur und habe meine Schwerpunkte in allen Aktivitäten, die zur Software Entwicklung gehören. Am längsten bin ich als Software Entwickler von Embedded Software in C tätig.