Erfassen der letzten Systemereignisse Crash-Analyse ohne Gerätepark

»SystemView« beherrscht unterschiedliche Buffer-Modi und kann sich so präziser auf die jeweiligen Problemstellungen anpassen.
»SystemView« beherrscht unterschiedliche Buffer-Modi und kann sich so präziser auf die jeweiligen Problemstellungen anpassen.

Die Echtzeit-Aufnahmen von »SystemView« von Segger Microcontroller können nicht nur zum Debuggen und Testen eingesetzt werden. Durch den sehr geringen Overhead können die Aufnahmen auch im Final Release durchgeführt werden und so Langzeitprobleme aufzeichnen.

Selbst bei Serienprodukten, die bereits im Feld im Einsatz sind, kommt es vor, dass sie lange Zeit zuverlässig arbeiten und dann ohne ersichtlichen Grund ausfallen. In den meisten Fällen lässt sich die Ursache nicht mehr ermitteln, wenn das System nicht an einen Debugger angeschlossen war. Mit SystemView kann Segger dieses Problem lösen.

Dazu werden im Post-Mortem-Modus System-Events kontinuierlich im RAM-Buffer des Systems aufgenommen. Hierbei wird ein Ringbuffer verwendet, so dass die letzten Events erhalten bleiben. Mit dem »J-Link« oder jeder anderen Debug Probe, die sich an ein laufendes System anschließen lässt, kann der SystemView-Buffer ausgelesen werden. Damit muss für die Aufnahme keine Debug-Verbindung aktiv sein - die Debug Probe kann bei Bedarf jederzeit angeschlossen werden.

Mit Hilfe des Post-Mortem-Modus von SystemView erhält man im Falle eines Systemabsturzes wichtige Informationen über das Systemverhalten, bis hin zur Ursache des Absturzes. Die enthaltenen Informationen tragen dazu bei, das Problem zu lösen oder helfen bei der Erstellung eines Reproduktionsszenarios.

Als Beispiel kontrolliert ein Smart-Home-System die Zentralheizung und ist mit dem Internet verbunden. Es erhält Kommandos von einem Steuerungs-Server, die anschließend durch eine Steuerungs-Task verarbeitet werden. Im Wesentlichen arbeitet das System zuverlässig, aber einige Geräte stürzen in unregelmäßigen Abständen ab. Beim Debuggen lassen sich diese Abstürze nicht nachvollziehen. Es gibt also keinen Hinweis auf die Ursache.

Nun lassen sich mit dem Post-Mortem-Modus von SystemView Informationen sammeln, was direkt vor dem Absturz geschehen ist, also welche Task aktiv war, bevor das System abgestürzt ist. Dazu wird das SystemView-Modul zur Firmware hinzugefügt und für den Post-Mortem-Modus konfiguriert. Das Embedded System funktioniert ansonsten wie zuvor. Wenn das System nun abstürzt, kann eine Debug Probe mit dem fehlerhaften System verbunden werden und der SystemView Buffer kann mit einem Debugger oder dem SystemView-Analysetool »SystemViewer« ausgelesen und gespeichert werden.