Ich werde bald ein neues eingebettetes System bereitstellen. Ich habe eine separate serielle Schnittstelle, die eine Verbindung zu einem Diagnoseprogramm herstellen kann. Ich habe auch zwei LEDs, eine blinkt, um anzuzeigen, dass das Betriebssystem läuft, die andere, dass die Anwendung läuft. Ich befürchte, dass es schwierig wird, herauszufinden, was passiert ist, wenn das eingebettete System jedoch einen Totalabsturz erleidet. Es hat einen Watchdog, würde also neu starten, aber ich würde gerne herausfinden können, warum der Absturz auftritt, falls dies der Fall ist.
Die einzige Möglichkeit, die ich in der Vergangenheit getan habe, besteht darin, ein paralleles System im Labor zu haben, ihm die gleiche Art von Eingaben zu geben, zu versuchen, das Problem auszulösen, und dann durch Debug-Drucke oder Ausgaben an digitale I/Os zu analysieren, um es herauszufinden heraus, woran es liegen könnte. Oft ist es jedoch sehr schwierig, das Problem zu reproduzieren.
Hat jemand irgendwelche Ratschläge zu guten Methoden, die sie zum Debuggen bei Feldproblemen haben?
Danke Fred
Kürzlich habe ich ein paar Einheiten eines neuen Embedded-Produkts für einen freundlichen Test bereitgestellt. Ich versuchte herauszufinden, wie gut der IP-Stack in der realen Welt funktionierte, daher war die Verwendung des integrierten Ethernets für die Fehlersuche keine Option.
Ich habe mehrere serielle Datenlogger von Sparkfun gekauft (viele ähnliche Geräte sind verfügbar) und einen über TTL-Seriell an jedes Gerät angeschlossen. Als ich die Einheiten zurückbekam, habe ich die Protokolle von den SD-Karten abgerufen.
Im Falle eines Systemabsturzes können Sie durch das Ausgeben von Registern an die serielle Schnittstelle den fehlerhaften Code später über die Zuordnungsdatei finden.
Jon L
Wouter van Ooijen
Fred Bassett
Fred Bassett
Jon L
Fred Bassett
Jon L