Stuck in a 'for' loop in _Watchdog_Insert.
Thomas.Doerfler at embedded-brains.de
Thu May 20 14:16:45 UTC 2010
unfortunately you do not provide real information about the system you
are using. So it is really difficult to help you :-(
Am 20.05.2010 10:37, schrieb Nick Thomas:
> Hi Thomas,
> Thanks for your reply, my comments below.
>> without going into details on the current topic: I have scanned back
>> problems you mentioned in the past. It all seems like your RTEMS system
>> is tending to get inconsistent from time to time. :-(
>> So there are some things I would ask you to check:
>> - do you have caching problems? Maybe the cache (e.g. during interrupt
>> processing) is not working consistently. Switching the cache off and
>> doing some more tests might help there. If your JTAG debugger supports
>> it, checking the differences between the data cache content and the
>> memory may help also.
> Not sure about caching problems. For this specific problem, if _ISR_Flash()
> is commented out, then there should be no interrupts happening while stuck
> in the for loop, because there was an _ISR_Disable( level ) call at the top
> of the _Watchdog_Insert function.
> I can't think of any reason how after->delta_interval could become zero
> unless through the action of an interrupt. Does that mean the _ISR_Disable()
> doesn't work?
> JTAG debugger does support cache interrogation, through ICACHE and DCACHE
> commands. Will try that.
> But, not sure where about in main memory the data is!
>> - There are systems using the PPC405 running in real world. So what are
>> the differences in your system? Are you using interrupts, that are not
>> based on the RTEMS interrupt entry code? Are you using critical
> All interrupts are set up using the ictrl_set_vector function. Not sure how
> to tell if they are critical interrupts or 'normal' interrupts though.
Embedded Brains GmbH
Thomas Doerfler Obere Lagerstr. 30
D-82178 Puchheim Germany
email: Thomas.Doerfler at embedded-brains.de
More information about the users