TSR problems
leonp at plris.com
leonp at plris.com
Sun Jun 5 12:02:08 UTC 2005
Hello, all.
I am stuck with the following problem: while using time server, the TSR does
not fire. Contrary, without server everything works OK.
The rtems_timer_initiate_server returns OK.
When rtems_timer_server_fire_after() is called with delay that exceeds 1 tick,
the timer does not fire at all. With 1 tick interval the timer fires once
and then doesn't fire (even though it is reset after it's firing).
All the functions involved return RTEMS_SUCCESSFUL, so it doesn't seem
like an initialization issue.
Again, the rtems_timer_fire_after() works fine.
Upon investigating this further, when breaking in the clock ISR
rtems_clock_tick() and doing dump_tasks in gdb I see that the ticks associated
with the "TIME" task are not decremented from one time tick to the next.
Looking inside the Timer Server function _Timer_Server_body(), I notice
that the execution is suspended at the first _Thread_Enable_dispatch()
and it is never resumed afterward.
Thanks ahead for any help.
P.S. Small remark: the server task name is displayed as "ITEM" and not "TIME"
as it is supposed to be. The issue partially may be because it is hard coded
for a little endian machine, while I am on a big endian machine.
--
Leon M.Pollak
More information about the users
mailing list