STM32H747xI Watchdog Timer Stop Functionality
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-08-07 12:27 PM
The hardware for my project is an Arduino Opta, which utilizes the STM32H747XI dual core processor. We are trying to implement a watchdog timer for our application because the OS occasionally crashes. The start and kick timer functionality works without a problem. However, we are having trouble stopping the timer. We need to stop the timer during over-the-air "OTA" updates because it is a long running process.
If I am understanding the datasheet correctly, it appears that stopping the timer is only available in debug mode. Please confirm.
If stopping the timer is not an option, how would you recommend we tackle this problem? Is it possible to do the OTA update on the second core while the timer is running along with the main application on the first? Thanks in advance for your help. I've spent a lot of time trying to solve this problem.
Regards, Mark
Solved! Go to Solution.
- Labels:
-
Documentation
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-08-07 12:35 PM
You can't stop the watchdog.
To overcome the problem, use the concept of a magic word written into memory that is then read upon reset. When you want to update the firmware:
- Write a magic word at some reserved memory address.
- Reset the chip
On chip startup:
- Read magic word location. If present, enter the bootloader or OTA update portion of the program.
You cannot update the firmware while that code is still being used, so you will need to stop the core during the update procedure.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2024-08-07 12:35 PM
You can't stop the watchdog.
To overcome the problem, use the concept of a magic word written into memory that is then read upon reset. When you want to update the firmware:
- Write a magic word at some reserved memory address.
- Reset the chip
On chip startup:
- Read magic word location. If present, enter the bootloader or OTA update portion of the program.
You cannot update the firmware while that code is still being used, so you will need to stop the core during the update procedure.
