reinicio de vigilancia de ARM

5

Tengo una placa de desarrollo de MP3 que recogí de sparkfun que funciona con el procesador ARM LPC2148. Al mirar a través del código, veo una función para forzar un reinicio de vigilancia. Mi pregunta es, ¿cómo averiguas qué valores alimentar al registro de vigilancia? Miré a través de la hoja de datos de LPC2148 y no pude resolverlo. No solo quiero usar el código de otras personas, quiero entender por qué hicieron lo que hicieron y cómo descubrieron qué hacer.

    
pregunta stevenvh

3 respuestas

5

Este es el código que uso para un LPC2148:

WDTC = 0x00000FFF; // muy corto tiempo de espera

WDMOD = 0x03; // watchdog reinicia la CPU

WDFEED = 0xAA; // iniciar watchdog

WDFEED = 0x55;

    
respondido por el Leon Heller
4

Desde la hoja de datos de LPC23XX, debe ser el mismo para LPC2148 ::

  

Registro de secuencia de alimentación de perro guardián.   Escribiendo 0xAA seguido de 0x55 para esto   El registro vuelve a cargar el temporizador Watchdog   con el valor contenido en WDTC.

    
respondido por el Malkocoglu
3

Parece que estás intentando forzar el reinicio de un watchdog, no evitar que el watchdog te reinicie. Esto se logra mediante un atasco: alimentando al perro guardián 0xaa seguido de un valor OTRO que 0x55. Ejemplo:

WDFEED = 0xAA;    /* Correct feed... */
WDFEED = 0x00;    /* ... Oops, insta-reset! */
    
respondido por el akohlsmith

Lea otras preguntas en las etiquetas