Wie kann ich Debuggen, unerwartete Neustarts in einer STM32-Gerät?

Ich bin etwas Entwicklung in C mit einer STM32F107 chip und, irgendwann, wird das Gerät begann zurückgesetzt, wenn ich eine bestimmte Funktion. Ich habe keinen debugger und meine Debuggen ist einfach nur text über die serielle Schnittstelle.

Habe ich einige andere mikrocontroller, in dem ich war in der Lage, den Zugriff auf ein register, um zu sehen, die Ursache für den reset, aber ich kann nicht scheinen zu finden, ein äquivalent für dieses Gerät. Ich bin mir bewusst, dass der hardware-Ausnahmen von der Cortex-M3, aber ich weiß nicht, wenn einer von Ihnen ausgelöst wird, da ich kann nicht scheinen, um text senden über usart wenn ich innerhalb dieser Handler (vielleicht, weil mein TX-Funktionen verwenden Unterbrechungen?).

So, ich beschloss zu Fragen, die Menschen mit mehr Erfahrung als ich in diesem Gerät: was ist in der Regel getan, um debug-Situationen wie diese?

BEARBEITEN

Einer der Entwickler aktiviert die WWDG watchdog und es war zurücksetzen der hardware, bevor ich könnte meine info aus der fault-Handler. Es war ein Harter Fehler durch aufrufen einer Funktion durch einen Zeiger, der zeigt an die falsche Stelle. Allerdings halte ich diese Frage, in der Hoffnung, dass jemand mehr verraten (oder material) für den Hinweis an C-code aus den Registern gespeichert in, sagen wir, ein schwerwiegender Fehler (@dwelch Idee).

InformationsquelleAutor ivarec | 2012-01-10

Schreibe einen Kommentar