QutiPi / meta-qutipi

Yocto layer for the Quti Pi development platform
0 stars 0 forks source link

Watchdog #16

Open motters opened 6 years ago

motters commented 6 years ago

Looking into the method of implementing a watchdog.

Booting the pi

Using the raspberry pi's internal watchdog to watch for software crashing and restart the pi.

http://layers.openembedded.org/layerindex/recipe/122/ http://layers.openembedded.org/layerindex/recipe/52921/ https://raspberrypi.stackexchange.com/questions/68331/how-to-keep-watchdog-timer-running-during-reboot-shutdown https://blog.onetwentyseven001.com/raspberry-pi_watchdog-timer/#.WotWD4PFK00 http://www.instructables.com/id/Raspberry-Pi-and-Arduino-Building-Reliable-Systems/ http://www.raspberry-pi-geek.com/Archive/2015/09/Making-your-projects-more-reliable

External hardware

Using gpio_wdt.c in linux/drivers/watchdog we can provide a watchdog timer that will toggle a GPIO line from 1-to-0-to-1.

External hardware can then ensure that it receives a toggling logic level otherwise enact safety precautions.

Following link explains more: https://www.raspberrypi.org/forums/viewtopic.php?t=193163#p1211005

The below watchdog timer IC is perfect for job as it includes a startup delays which will allow the program to boot and trigger the watchdog timer driver before resetting the CM3. MAX6373, MAX6371 https://www.maximintegrated.com/en/products/power/supervisors-voltage-monitors-sequencers/MAX6369.html

motters commented 6 years ago

Internal watchdog should now be functional, external watchdog to be added shortly.