Forum: Mikrocontroller und Digitale Elektronik Externen Watchdog deaktivieren (debugging)


von Oz z. (ozzy)


Lesenswert?

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!

von Peter D. (peda)


Lesenswert?

Das sollte im Datenblatt des ungenannten ICs stehen.

von Dave (Gast)


Lesenswert?

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.

von Dirk (Gast)


Lesenswert?

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?

von Wolfgang (Gast)


Lesenswert?

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?

von Soul E. (Gast)


Lesenswert?

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...

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
Noch kein Account? Hier anmelden.