Also das "Problem" habe ich nun gefunden - verstehen tu ich es jedoch
nicht.
Mein Bootloader hat den WDT deaktiviert, bzw. im Bsp. wäre es in der
board_init():
1 | #ifndef CONF_BOARD_KEEP_WATCHDOG_AT_INIT
|
2 | /* Disable the watchdog */
|
3 | WDT->WDT_MR = WDT_MR_WDDIS;
|
4 | #endif
|
Nun stellt sich mir die frage: Warum kann man den WDT nach einem
'disable' nicht wieder einschalten? Weder wdt_init() noch wdt_restart()
ändert etwas an den Bits.
Siehe Anhang:
Bild 1 - Nach System-Start
Bild 2 - Nach 'disable' und ebenfalls nach dem Init.-Versuch.
---
Edit:
Problem ist gelöst - Hatte einen Satz im Datenblatt "überlesen" :-(
WDT_MR can be written only once. Only a processor reset resets it.
Trotzdem Danke ;) ...peinlich, peinlich
Toll find ich das jedoch nicht. Mein Ansatz wäre nämlich:
- WDT disable
- System-Init. durchführen
- WDT enable