int main()
{
// Disable all interrupts
__disable_irq();
// Time for debugger to catch.
for (int i = 0; i < 0xFFFF; i++)
{
__NOP();
}
// Init spi and spi flash
debug_print_text("wdg test init");
debug_print_newline(1);
/* Initialize WWDT*/
Chip_WWDT_Init(LPC_WWDT);
/* Set watchdog feed time constant to 0.1s */
/* Set maximum timeout, about 2 minutes 14 seconds ~217 milliseconds */
Chip_WWDT_SetTimeOut(LPC_WWDT, 0xFFFFFFUL);
/* Configure WWDT to reset on timeout */
Chip_WWDT_SetOption(LPC_WWDT, WWDT_WDMOD_WDRESET);
/* Set warning 0 tick before reset */
Chip_WWDT_SetWarning(LPC_WWDT, 0);
/* Clear watchdog warning and timeout interrupts */
Chip_WWDT_ClearStatusFlag(LPC_WWDT, WWDT_WDMOD_WDTOF | WWDT_WDMOD_WDINT);
/* Start watchdog */
Chip_WWDT_Start(LPC_WWDT);
// Enable WD protect
Chip_WWDT_SetOption(LPC_WWDT, WWDT_WDMOD_WDPROTECT);
// feed ---- reset in this function
Chip_WWDT_Feed(LPC_WWDT);
// We should be here.
debug_print_text("Done spi uploading");
debug_print_newline(1);
while (1)
return EXIT_FAILURE;
} |