_Watchdog_Insert loops infinitely
Joel Sherrill <joel@OARcorp.com>
joel.sherrill at OARcorp.com
Tue Sep 13 17:12:24 UTC 2005
Given the age of your RTEMS, there are a few watchdog PRs which might be
this. Read each PR for details
PR807 - nesting interrupts/iSR withing task type of scenario
PR654 - timers in each tasks' TCB were not reinitialized when
a TCB was reused.
PR430 - volatile added plus ISR disable section adjusted
PR430 was committed on 18 July 2003.
Using the wayback machine, I am betting you are hitting PR430
but the others are bad as well.
--joel
leonp at plris.com wrote:
> Hello, all.
>
> I run into the following very strange problem:
>
> Application runs for about half an hour without a problem. But then it stops
> functioning (no communications and processing).
> I break into it via the BDM (MPC860) and see that it loops infinitely in the
> _Watchdog_Insert function on the file
> .../cpukit/score/src/watchdoginsert.c in the
>
> for ( after = _Watchdog_First( header ) ;
> ;
> after = _Watchdog_Next( after ) ) {
>
> loop. This routine is called by _TOD_Tickle(), which is called by
> _Watchdog_Tickle(), which is called by rtems_clock_tick(), which is finally
> called by Clock_isr().
>
> The RTEMS version is rather old - rtems-ss-20030703. Host is Linux, the tool
> kit is that of the rtems release.
>
> Any help/hint will be highly appreciated.
>
> --
> Leon
--
Joel Sherrill, Ph.D. Director of Research & Development
joel at OARcorp.com On-Line Applications Research
Ask me about RTEMS: a free RTOS Huntsville AL 35805
Support Available (256) 722-9985
More information about the users
mailing list