1.bootloader中看门狗在通过USB下载时被用作一个16us的定时器,时间到触发一个中断,下载完成后看门狗关闭。
2.可在linux启动前启动看门狗,不过默认的linux驱动加载时会对其重新初始化,初始化其频率并关闭。可以手动将关闭去除,还可以设置频率,若复位延时超出限制,可在dmesg中观察到出错信息。而且超出该限制后打开看门狗就会立即重启,估计寄存器溢出的原因,而真正写入寄存器的是低16位的,若该值很小则出现立即重启的现象。
3.在APP中利用OPEN函数打开看门狗即可令其工作,默认复位时长为15S。WRITE任意字符可喂狗,WRITE大写'V’,并close句柄,则可以关闭看门狗。
4.设置复位时长可通过ioctl(fd_watchdog, WDIOC_SETTIMEOUT, &time);,其中time中存放复位时长,须传送时长的指针方可。
5.针对老大的需求,在bootloader进入linux时开启一个最大的看门狗,把linux看门狗的默认复位时间设置为35S并去掉linux初始对看门狗的关闭,即linux加载看门狗驱动后看门狗复位时间由43S变成35S,在文件系统加载后自动加载看门狗喂狗程序,若系统异常则复位。