[ECOS] RedBoot network timer question
Gary Thomas
gthomas@cambridge.redhat.com
Thu Jan 18 15:35:00 GMT 2001
On 18-Jan-2001 Grant Edwards wrote:
>
> Are the following observations correct?
>
> 1) The network code keeps track of millisecond "ticks" by
> delaying for 1ms and incrementing a counter every time any
> of the code uses the MS_TICKS() to check the current time.
>
> 2) But, the network polling code is only called once every
> 250ms [the timeout value passed to gets() by the main
> loop]. I verified this by pinging the board and response
> times varied from 4m to 290ms with a mean of 144ms.
>
> 3) That means that the network time only increments by a few
> milliseconds once every 250ms. Time would appear to pass
> very slowly to the network routines, making the TCP
> timeouts longer by a factor of about 100.
>
Depending on the platform, these observations vary in their correctness.
Some platforms have running timers which the delay routines simply
monitor. Others will actually simply wait.
Point of observation: timers in the RedBoot stack are meant to keep
things from hanging up, not meant to be necessarily "wallclock" accurate.
If you can tell me how to implement such [accurate] timers without using
interrupts [and with reasonable overheads], I'm all ears.
More information about the Ecos-discuss
mailing list