This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM2634: Watchdog Timer Expiry

Part Number: AM2634
Other Parts Discussed in Thread: SYSCONFIG

Hi

I made a lot of tests with the watchdog on my LP-AM263x. 

Can someone explain my why I have to clear the watchdog timer in one-tenth of the "WDT Expiry Time" set in SysConfig?
As an example when I set an expiry time of 1000ms then i have to clear the watchdog within 100ms or my board resets.

Also, the example from TI does this:

     /* wait for (expiry time/2 ) time */
        ClockP_usleep((wdtExpiryTimeinMs*100)/2);

Best regards

Dominik

  • Hi

    We are looking into this

    Regards

    Sri Vidya

  • Hi Dominik

    Thanks for asking the question.

    Please refer the WatchDog Section of TRM: 

    https://www.ti.com/lit/ug/spruj17c/spruj17c.pdf?ts=1670326246376&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FAM2634

    RTI Digital Windowed Watchdog Section describes.

    It is the feature of watchdog, we need to continuously send a signal to watchdog to signify that application is running smoothly. If there is any break in the application code, then automatically, the watchdog stops getting signal from it. This leads to generation of Reset Interrupt by watchDog indicating blocking of the code.

    Also, the example from TI does this:

    Fullscreen
    1
    2
    /* wait for (expiry time/2 ) time */
    ClockP_usleep((wdtExpiryTimeinMs*100)/2);
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    In this code we are waiting for Expiry time/ 2 seconds before reloading the watchdog to make sure the flow is retained and watchdog is not resetting the SOC before the expiry Time.

    In the application Code, we are only servicing the watchdog 3 times, and then waiting for the watchdog to reset the SOC. But in real life applications we usually continuously service the watchdog in a low frequency background task. 

    Hope this helps.

    Regards

    Sri Vidya

  • I understand.

    But why is the wdtExpiryTimeinMs * 100 = us ? Converting ms in us is * 1000. The example is not working when 1000 is used.

    Regards

    Dominik 

  • Hi Dominik

    I checked internally and saw that the watch dog example is currently under development and this is a known issue.

    The functionality works. When WDG is configured to generate an NMI after a timeout, expectation is the ISR is called after the configured timeout. For a configured timeout of 3000ms, the ISR is hit in less than a second.

    There is an existing Jira ID on this MCUSDK-8388, and this example will be fully developed in the future SDK releases.

    Apologies for the inconvenience.

    Thanks & Regards

    Sri Vidya