Externen Watchdog deaktivieren (debugging)

OP #6254702
Hallo,

   ich habe hier hier eine Schaltung mit einem STM32F4 Prozessor und 
einem externen Watchdog, die ich gerne debuggen möchte. Momentan wird 
der watchdog alle 100ms getriggert, indem der WDI-Pin getoggelt wird. 
Wenn ich nun debugge wird nach einem Breakpoint ein reset ausgelöst, da 
der Watchdog in der Zeit ja nicht getriggert wurde. Wie umgehe ich das 
denn? Kann ich irgendwie feststellen ob ich einen Debugger angeschlossen 
habe und dann den Watchdog deaktivieren? Oder wie macht man das 
normalerweise?

Vielen Dank schon einmal im Voraus!
Gast #6254740
Hat der WDI Pin eine Timer Funktion? Wir lösen das immer indem wir im 
Debug eine HW-PWM ausgeben, die läuft in der Regel bei allen CPU 
Herstellern weiter.
Gast #6254965
Hallo, man könnte es auch in Hardware lösen, indem ein zusätzlicher Pin 
vom externen Debugger auf HIGH o. Low gesetzt wird und der Watchdog 
abgeschaltet wird.

Wie hat es sich der Systemarchitekt des Systems vorgestellt?
Gast #6254995
Oz z. schrieb:
> Wie umgehe ich das
> denn? Kann ich irgendwie feststellen ob ich einen Debugger angeschlossen
> habe und dann den Watchdog deaktivieren? Oder wie macht man das
> normalerweise?
Den Watchdog fürs Debuggen in der Software abzudrehen, ist keine Option?
Gast #6254998
Oz z. schrieb:

> (...) Kann ich irgendwie feststellen ob ich einen Debugger angeschlossen
> habe und dann den Watchdog deaktivieren? Oder wie macht man das
> normalerweise?

Normalerweise hat Dein SBC oder Watchdog-Baustein einen Test-Pin. Den 
führst Du mit auf den JTAG-Stecker, so dass wenn der Debugger-Schnoddel 
draufsteckt dieser Pin auf ein passendes Potential gezogen wird und den 
Watchdog abschaltet.

Bei dem beliebten Atmel ATA663431/54 ist das Pin 6. Der wird mit 4k7 
nach Masse beschaltet, und wenn der aufgesteckte Debugger den Pin auf 
VDD zieht ist der Watchdog aus.


Wolfgang schrieb:

> Den Watchdog fürs Debuggen in der Software abzudrehen, ist keine Option?

Da fehlt der geeignete Kommunikationsweg. Der Watchdog hat einen Pin, an 
dem er zyklisch getriggert werden möchte. Dem zu sagen dass man das 
Triggern einzustellen gedenkt geht darüber nicht.

Und den o.g. Test-Pin zum Abschalten des Watchdogs auf einen Portpin des 
Controllers zu führen dürfte keine besonders gute Idee sein. Bestenfalls 
temporär über einen Jumper. Sonst lernt man im FuSi-Review ganz schnell 
neue Leute kennen...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 6 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.