La compilación de un proyecto PIC32 existente usando el compilador v2.00 C produce un reinicio continuo de watchdog. Este problema no aparece con el compilador v1.12 anterior. Cambiar el valor de postcaler del watchdog (hasta 1048 segundos) no tiene efecto. El reinicio del watchdog se produce casi inmediatamente después del inicio, definitivamente no hay tiempo suficiente para que el temporizador caduque. Al deshabilitar el watchdog, el código se ejecuta como se espera.
Hubo un cambio en el código de inicio en v2.00, pero no estoy usando ningún código de inicio personalizado, que yo sepa. ¿Podría haber un problema con el temporizador utilizado por el watchdog que no se habilita correctamente? ¿Dónde debería buscar para tratar de solucionar este problema?
MÁS INFORMACIÓN
El reinicio se produce cuando borro el temporizador de vigilancia. Si uso
WDTCONSET = 0x01;
// or
WDTCONbits.WDTCLR = 1;
// or
ClrWdt();
Se producirá el reinicio.
Si no reinicio el temporizador de vigilancia (dejar que el temporizador caduque), obtengo un reinicio después del tiempo especificado por el postscalar, como se esperaba.