<<< Previous topic - Next topic >>> |
|
Author |
Message |
kdw
Joined: 05 May 2006 Posts: 1460
|
Posted: 05.05.2011, 15:35 Post subject: Watchdog Timer nutzen … |
|
|
Hallo Forum.
Frage: Besitzt ein IGW/922 einen Watchdog Timer und wie kann man den benutzen?
Antwort: Ja, ein solcher Timer ist vorhanden und wird auch durch ein spezielles Kernel Modul unterstützt. Das Kernel Modul "at91_wdt" für den Watchdog Timer ist nach dem Booten geladen, wird jedoch nicht automatisch getriggert, d.h. der Watchdog Timer ist nicht aktiv. Triggern kann man den Watchdog Timer über das Device /dev/watchdog, indem man irgendetwas dort „rein“ schreibt. Nachdem einmal getriggert wurde, muss man innerhalb von 5 Sekunden immer wieder triggern. Ansonsten wird durch den Watchdog Timer ein Reset erzeugt. Hier ein C/C++ Beispiel:
Code: | #include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
int main(int argc, const char *argv[])
{
int fd=open("/dev/watchdog",O_WRONLY);
if(fd==-1){
perror("watchdog");
exit(1);
}
while(1)
{
write(fd,"\0",1);
fsync(fd);
sleep(10);
}
}
|
Gruß
KDW |
|
Back to top |
|
|
hne
Joined: 11 Jul 2008 Posts: 210 Location: Hannover
|
Posted: 14.08.2012, 15:13 Post subject: |
|
|
Code: | at91_wdt - AT91 Watchdog Timer enabled (5 seconds, nowayout=1)
|
... ist beim Booten zu lesen.
Mit einem "sleep(10)" in dem Beispiel würde der Watchdog also immer auslösen.
Bitte stattdessen "sleep(3)" benutzen. _________________ Henry Nestler |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|