rtems_wake_after

Jerry Needell jerry.needell at unh.edu
Fri Jun 20 14:55:53 UTC 2003


On Friday, Jun 20, 2003, at 10:34 US/Eastern, Fabio Degiovanni - Eicas 
wrote:

> Dear Jarry Needell,
>                                I think you were right: it is a problem 
> of overflow. I tried with CONFIGURE_MICROSECONDS_PER_TICK 1000 and 
> rtems_task_wake_after(1000). The problems is at the 305th iteration. I 
> tried to put the directive rtems_clock_get( 
> RTEMS_CLOCK_GET_TICKS_SINCE_BOOT, &inter ); to see at what time (in 
> ticks this happens) and I found out at 305266 ticks.

I was just about to try that myself :-)

> I don't understand what variables is subjected to overflow. I'm used 
> to Linux real-time: in that case there is a periodic interrupt timer 
> that is loaded to the value of MICROSECONDS_PER_TICK 1000, it counts 
> down till 0 then it gives an interrupt, the interrupt service routine 
> increment the value of ticks an reset the PIT to the 
> MICROSECONDS_PER_TICK value. If RTEMS follows nearly the same 
> procedure I don't see any point in which an overflow can occur. How 
> does RTEMS work? What the variable that is subject to overflow? Why?
> Thank you very much for your help
>
The problem is not in RTEMS, but in the simulator. On real hardware, it 
does not crash and it runs in "real time" :-) .

- Jerry

> Fabio Degiovanni
>
> -- 
> Dott. Ing. Degiovanni Fabio
> Eicas Automazione
> Via Vincenzo Vela, 27 10128 Torino (ITALIA)
> Telefoni +39-11-562.37.98/562.3088 Fax +39-11-436.06.79
>




More information about the users mailing list