Identify system hangs and collect enough information to be able to root cause the underlying issue and deliver a fix. The embedded system should have a watchdog subsystem in place. Whether you are still in the development phase of a project or have millions of devices in the field, a UI task) is using so many CPU cycles that lower priority tasks (like a WiFi task) never get to run preventing sensor data from being published to your cloud service. One or more tasks become deadlocked because mutexes were grabbed in the wrong order or weren’t released.A hardware component (such as a HRM, Accelerometer, or NOR Flash Chip) is wedged and not.
CLOCK WATCHDOG TIMEOUT C BUILDER CODE
Memory gets corrupted and code winds up in an infinite loop.Some of the most common I’ve run into over the There are numerous ways an embedded device can hang. Usually “fed” by toggling a GPIO line from the MCU being monitored. NOTE: It also worth mentioning that for some systems where catching system hangs is missionĬritical, there are even dedicated ICs which can be used 2.
CLOCK WATCHDOG TIMEOUT C BUILDER SOFTWARE
The rationale here is if software is unable to reset the watchdog counter, the system is not running as expected and needs to be reset to get back to a sane state. This operation is usually referred to as “feeding”, “kicking”, or “patting” the dog. Once enabled, the system software needs to reset the counter periodically to prevent the device from rebooting. The peripheral is typically disabled by default and it’s the programmers responsibility to configure and enable it in software. When the count reaches zero, the hardware will automatically reset the device. This peripheral is comprised of a counter which decrements automatically by the hardware each clock cycle. Most chip vendors include an isolated RTL block known as a “Watchdog Timer” in a MCU.