Gast
#1795533
Moin!
Ich zweifel solangsam an meiner Intelligenz. Ich versuche auf einem
AT91SAM7X256 den Watchdog zu konfigurieren. Ich habe schon verschiedene
Wege ausprobiert:
AT91C_BASE_WDTC->WDTC_WDMR = AT91F_WDTGetPeriod(1000) | //Watchdog
Counter Value
(AT91F_WDTGetPeriod(1000) << 16) | //Watchdog Delta
Value
AT91C_WDTC_WDRSTEN | //A Watchdog fault triggers
a Watchdog reset
AT91C_WDTC_WDRPROC; //A Watchdog fault activates
the processor reset
AT91C_BASE_WDTC->WDTC_WDMR = 250 | //Watchdog Counter Value
(250 << 16) | //Watchdog Delta Value
AT91C_WDTC_WDRSTEN | //A Watchdog fault triggers a
Watchdog reset
AT91C_WDTC_WDRPROC; //A Watchdog fault activates the
processor reset
usw.
Allerdings startet dann der ARM nicht mehr (oder stürzt sofort ab).
Schalte ich den WD aus mit
AT91C_BASE_WDTC->WDTC_WDMR = AT91C_WDTC_WDDIS;
dann läuft alles los.
Reseten tue ich ihn dann mit
AT91F_WDTRestart(AT91C_BASE_WDTC); //Restart the Watchdog Timer
bzw.
AT91C_BASE_WDTC->WDTC_WDCR = 0xA5000001;
Was mache ich falsch?