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.

[FAQ] AM6442: Watchdog debug and configuration guide for all SITARA AM6X MPU devices

Part Number: AM6442

Tool/software:

This FAQ provides a comprehensive guide to configuring and debugging the watchdog timer with a focus on all SITARA MPU devices in different real time use cases .

The guide addresses key concepts such as whether the watchdog interrupt is a Non-Maskable Interrupt (NMI) or a generic interrupt and explains how to configure the watchdog timer's expiration time.

  • 1. Is the Watchdog Interrupt an NMI (Non-Maskable Interrupt)?

    No, the watchdog interrupt is not an NMI.
    The watchdog interrupt is a generic interrupt that can be masked by the user.
    Note: There are no NMI interrupts on the R5F cores. 

    2. Can the Watchdog Expiration Time be Reconfigured?
    The watchdog expiration time can only be configured once after initialization.
    To change the expiration time again, the SoC must be reset, after which the expiration time can be reconfigured.

    3. What is a Windowed Watchdog?
    A windowed watchdog is a type of watchdog where the watchdog must be serviced within a specific time window or percentage of the total watchdog timer.
    On SITARA devices, window sizes of 6.25%, 12.5% , 25%, 50% and 100% are supported.

    4. Which Window Size is Ideal?
    The best window size depends on the user’s requirements.
    For safety-critical applications where functions must complete within a particular time frame, a windowed watchdog is recommended.
    In non-safety-critical applications, where timing is not as strict, windowed watchdogs may not be necessary.

    Window Violations:
    If the watchdog is not serviced within the configured window size, the SoC will reset due to a window violation.

    5. When to Service the Watchdog (Give Keys)?
    100% Window Size: The watchdog can be serviced at any time between 0% and 100% of the watchdog timer duration.
    50% Window Size: The watchdog must be serviced after 50% of the timer has expired but before 100%.

    6. Can You Reset an Individual Core with the Watchdog on SITARA Devices?
    No, SITARA MPU devices do not support Resetting an individual core via the watchdog.
    Once the watchdog expires, it resets the entire SoC and not individual cores.

    7. How to Reset the SoC After the Watchdog Expires?
    It is possible to reset the SoC after the watchdog expires, but the ESM (Error Signaling Module) must be enabled along with the watchdog.
    This configuration allows the watchdog to reset the SOC in the event of an expiration.

    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1283237/faq-am64x-am62x-how-to-reset-the-soc-when-wdt-timer-expires-in-am64x-and-am62x

    8. How to Identify if the SoC Was Reset Due to the Watchdog?
    The SoC provides an MMR (Memory Mapped Register) that indicates whether the SoC reset was triggered by the watchdog via the ESM.

    TRM image : 

    9. Will Disabling All IRQ Interrupts Stop the Watchdog Interrupt?
    Yes, the watchdog interrupt is a generic interrupt, so disabling all IRQ interrupts will stop the watchdog interrupt as well.
    When IRQ interrupts are re-enabled, the watchdog interrupt will resume.

    Using Watchdog as FIQ:
    If you configure the watchdog interrupt as an FIQ (Fast Interrupt Request), it will not be masked by the Hwip_disable() function, and watchdog interrupts will continue to function even when all IRQ interrupts are disabled.

    10. Can You Change the Watchdog Expiration Time After It’s Configured in SBL?
    If the watchdog is configured with an expiration time in the SBL (Secondary Boot Loader) on the R5F core, the same expiration time will apply to the application.
    The watchdog cannot be reconfigured with a different expiration time in the application.
    In the application, you can only service (pet) the watchdog that was configured in the SBL.

    11. Why Is the Watchdog Expiring at the Old Configured Value even After changed the new expired Time and it is Reloading from CCS?
    This issue occurs because the watchdog expiration time can only be configured once.
    To change the expiration time, you must perform a full SOC reset, either a Power-On Reset (POR) or a Warm Reset. A CPU reset alone is not sufficient to reconfigure the watchdog expiration time.