Messages in this thread | | | Date | Fri, 11 Dec 2009 16:27:55 +0800 | Subject | Re: Questions about Watch Dog Timer under Linux. | From | Cypher Wu <> |
| |
It seems WATCHDOG_NOWAYOUT is a software mechanism? If it is defined as 1 then the WDT can't be stopped if it has been started whether bye closing the device file or writing the magic character 'V'.
On Wed, Dec 9, 2009 at 10:59 PM, Mark Brown <broonie@opensource.wolfsonmicro.com> wrote: > On Wed, Dec 09, 2009 at 10:47:28PM +0800, Cypher Wu wrote: >> I'm used to work on embedded systems, the Watch Dog Timer in our >> products is usually a seperate chip on the board wich will start to >> work after power reset and will time out in 2 seconds. The system has >> to start dog clearing from the very beginning and there have no way to >> disable WDT. > >> Now I want to use WDT under Linux, while I read >> Documentation/watchdog/watchdog-api.txt and then look though some >> drivers of WDT under Linux, it seems WDT under Linux has to be able to >> be disabled, and it will be disabled from the beginning, and starting >> to work after the application open the special driver file? The >> sample code under Linux use a very bigger time span than our embedded >> system: > > You don't *have* to be able to disable the watchdog - the API supports > it but you can always fail to do so (and even where you can Linux > watchdogs support a non-disabling mode, look for WATCHDOG_NOWAYOUT in > existing drivers). Similarly, there's no problem with having the > watchdog be live at system startup - if the watchdog is already enabled > when the driver is opened then the driver just needs to handle that > gracefully. > >> while (1) { >> ret = write(fd, "\0", 1); > > ... > >> sleep(10); >> } >> > >> Is this the pattern we have to follow to use WDT under Linux? We have > > You're free to update the watchdog as often as you like, the 10s is > just a number that was picked which is suitable for that application. > >> to choose a chip as WDT, and it seems the chip we've familiar under >> embedded systems can't be used under Linux? > > Nothing about your watchdog sounds particularly unusual for Linux. >
| |