Spark.Kuo(*=A2=95=DA*a) wrote:
> Dear all:
> I have ported the linux kernel 2.4.19 on my board using sh4=
7751R.When i enable the watchdog,the board reboot immediately,someti=
mes the sh_wdt_ping() has entered several times, but sometimes not.
> It seem to be that the watchdog overflow before the sh_wdt_=
ping() function.
> i think that the sh_wdt_ping() function would set WTCNT to =
0x0 periodly,before the WDIOF_SETTIMEOUT settting.
> but my watchdog reboot before the sh_wdt_ping() periodly re=
setting.
> Has anyone some comments?
/* Yes, sh_wdt_ping() should clear WTCNT, but as a timer function it =
only does so when the timer pops, which I believe is dependent on the=
kernel tick... and the longest setting for the watchdog is still
too fast for the normal 10ms tick. Since you can't add bits to the c=
ounter, I'd guess all you can do is either slow down the base board c=
lock so the watchdog timeout is slow enough, or modify the kernel to
use a faster tick. */
--Jeremy Siegel
|