RTEMS PowerPC progress (Not).

Nick Thomas nick.thomas at pixsan.com
Tue Jun 1 12:29:14 UTC 2010


I have been looking into rtems_timer_server_fire_after() function.

Have added some counting flags to check how far it's getting through that
func before doing something weird.

And, I notice that somewhere in the call to _Watchdog_Insert, something
happens. And, it looks like an interrupt has been taken.

It can't be though, because this is within an _ISR_Disable( level ); section
of code.

Unless something else is responsible.
But, it looks like an interrupt is happening, which eventually runs
_Thread_Enable_dispatch() (which sets the _Thread_Dispatch_disable_level to
zero.

And when we return to our rtems_timer_server_fire_after() function, we
shortly afterwards call _Thread_Enable_dispatch() again, and this sets
_Thread_Dispatch_disable_level to -1.

So, my problems could be caused by interrupts happening within an area of
code where they shouldn't!



Regards

Nick




More information about the users mailing list