Hi, wie finde ich die letzte Position des Programmzählers nach einem durch den Watchdog auslösten Resets? µC : stm32f072 (m0)
Gibt es einen Watchdog Interrupt? Dort dann vom Stack den PC holen und mit Prüfsumme in nicht initialisiertem RAM speichern. Beim folgenden Reboot aislesen, checksumme vergleichen und weiter verwursten.
Gibt es nicht, der Watchdog zieht intern direkt am Reset. Ich frage mich sowieso, wozu man den PC auslesen will. Ziemlich sicher gibt es für das zugrunde liegende Problem eine andere Lösung...
Tom S. schrieb: > Hi, > wie finde ich die letzte Position des Programmzählers nach einem durch > den Watchdog auslösten Resets? Schau in Dein Programm. Denn NACH dem Reset steht im Programmzähler der Resetvector.
Tom S. schrieb: > Hi, > wie finde ich die letzte Position des Programmzählers nach einem durch > den Watchdog auslösten Resets? > > µC : stm32f072 (m0) Nunja, es gib derer zwei. Welcher ist es denn? Einer von beiden kann, über EWI Daten sichern, also auch den PC. Lama schrieb: > Gibt es nicht, der Watchdog zieht intern direkt am Reset. Das ist nur die habe Wahrheit. (s. oben) Lama schrieb: > Ich frage mich sowieso, wozu man den PC auslesen will. Ziemlich sicher > gibt es für das zugrunde liegende Problem eine andere Lösung... Im RM0091 steht für was das zu gebrauchen ist.
Lama schrieb: > Ich frage mich sowieso, wozu man den PC auslesen will. Weil man offensichtlich eine Funktion hat, die länger braucht als sie sollte, eventuell sogar eine Endlosschleife. Logischerweise hilft es beim Debuggen, wenn man anhand des Mapfile weiß, wo man sichen muß.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.