Gurus, I have worked in Lots of RTOS projects for consumer electronics applications.I have encountered the following problem in couple of instances and till now not able to track the reason behind it,because each time my solution varies.Given below is my brief of the problem:
We have a consumer electronics appliance in which when the Target boots up and puts a logo screen,when the user presses a key in the remote,the target crashes.This happens in the ROM version of build. When we debug it in RAM version,it never happens.I am clueless what could be possible reason for this. My little knowledge of RTOS says that this should be due to some timing implications which when we step through debugger in RAM version makes it work and since ROM version is non debuggable,we dont get required delay for it to work.Is this understanding correct? I am wondering how experts around here have solved these sorts of problems where a RAM version when debugged works and ROM version of same software fails!
In another case I encountered similar problem and traced the route cause for an first enum parameter which was initialised to 1 instead of zero and when we set the initial param to zero,it worked.I was clue less how this made the Debugged RAM version work and fail in ROM version.
It would be helpful if anyone can share their experience on how they tackle such problems and whats the best way to debug such problems. Advanced thanks to all your replys and looking farward for your pearls of wisdom, Regards, s.subbarayan