Watchdog isn't being fed during MCUboot image confirmation - loop reboot

Hi,
I'm trying to implement a watchdog on the nRF54L15. I configured the watchdog with a maximum window of 1000 ms, and I'm feeding it from a low-priority thread every 500 ms. This setup works well under normal conditions.
However, I'm encountering an issue during OTA firmware updates. I'm using MCUboot as the bootloader, and building the update using sysbuild. I'm able to successfully load the new firmware image. The problem happens when I try to confirm the image: after marking it for testing and performing a reset, the microcontroller enters a reboot loop. It seems that the watchdog isn't being fed during the boot.
If I increase the watchdog's maximum window to a value greater than the reboot time, the problem no longer occurs — the device boots and I can confirm the image correctly.
Could you help me understand what might be going wrong?
Thanks for your insights

 

Parents
  • Hello,

    When the device restarts after a firmware update, MCUboot, runs first. At this point, the main application hasn't started yet, so the watchdog isn't being fed. If the time taken by MCUboot and the system startup exceeds the watchdog timeout of 1000 ms, the watchdog assumes something has gone wrong and resets the system. This reset brings the device back to the beginning of the boot process, causing it to loop continuously without ever fully starting the application.
    So what happens when you give the watchdog more time (>1000ms), the system has enough time to finish booting and start the app, which feeds the watchdog. No more resets.

    Kind Regards,

    Abhijith

  • Hello,

    As I understand it, MCUboot is supposed to feed the watchdog during the OTA update process, right?

    In my case, if I increase the watchdog’s timeout window to 2000 ms, the update completes successfully without any issues. However, with a 1000 ms window - which is the maximum acceptable value for my application - the system resets, suggesting that MCUboot isn’t feeding the watchdog as expected.

Reply
  • Hello,

    As I understand it, MCUboot is supposed to feed the watchdog during the OTA update process, right?

    In my case, if I increase the watchdog’s timeout window to 2000 ms, the update completes successfully without any issues. However, with a 1000 ms window - which is the maximum acceptable value for my application - the system resets, suggesting that MCUboot isn’t feeding the watchdog as expected.

Children
Related