We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hello everyone: I'm testing a distributed elevator control, wich uses XC167 from Infineon as "brain". Everything was going fine and all software tests were succesful. But when I added some more tasks the trouble begin. The system hangs on some compilations (cooperative multitasking only), in other with minor changes works quite fine, with only some strange behaviour. Activating the round-robin multitasking I was specting to get the task wich was hanging, but it seems that there's no one (I've written a task monitor). After many tests I think the problems is related with stacks or some kind of problem in memory or code acces (perhaps an unattended interrupt?). I have trap interrupts enabled, but there's no activation of them. I have no external RAM memory, because the internal memory should be enough, as I need a little amount of memory. I have both system and user stacks in IDATA, and I've USRSTCK_DPP to DPP3 in RTX166 Tiny configuration, and I'm usin NEAR memory model. So, anyone got this kind of problems? Any suggestion to correct the problem? Is there any check I should do in order to detect, avoid or by-pass this kind of problems? Thank you a lot.
I had a problem with RTX166 Tiny. It hangs after a few minutes if all tasks are sleeping. The workaround for that was to make one of the tasks wake up once in a while. - mike
Hello: Thanks for your reply, but I think this couldn't be the problem. I have task wich are executing a code in an endless loop with only 0.5 ms of wait with a os_delay_task(1), these are polling routines because I'm avoiding any kind of interrupt. In fact, that was the reason to get this powerful microcontroller, to make a near interruptless system to acomplish the hard real time requirements.
Have you checked for things like uninitialised variables? See the conclusion to this thread: http://www.keil.com/forum/docs/thread4414.asp
Hi: I've enabled the initialize variables to zero in the start configuration, so It's suposed that uninitialized variables will be 0 always. On the other hand, I only leave variables uninitialized when it's value doesn't matter (i.e. loop counters, etc...), and the hang occurs after many minutes of execution (sometimes hours); but I'll check again...