nobody wrote on Thursday, August 17, 2006:
I have an application runnign with about 8 taks in it now. most of them are very small tasks that do simple IO monitoring and hence have nice small stacks. The problem occurs that my debug serial port works absolutely fine until the main control thread hits a certain point at which the serial thread stops running ( the queue from the ISR is still having bytes pushed in, but the main worker thread seems to not to pull them out any more). The code in the main control code is nothing special, just doing some IO related functions. when it gets back out of that code, the serial task starts up again straight away. I realise that this a rather vague posting, but i am getting really frustrated as to why its not working. i’m really after things to check etc - stack sizes? heap size? things getting over written? the code is running on an ARM AT91Sam7S64. if i change the way the controller code runs so it is very simple ( but no longer properly functional ), the problem does not occur.
thanks in advance for any thoughts or suggestions of ideas to help.