I have a LPC2478 running 14 FreeRTOS tasks without issues.
However, once I add one task (the 15th) the scheduler starts up, and them, during context switch the second context switch, the most innocent looking instruction (NOP…) will branch the processor to some address. If I disable a background interrupt (1000 Hz) that has a higher priority than the kernel and runs while the scheduler starts up the system will start up normally. If I enable that interrupt source but empty the ISR the systems starts up correctly. If I insert a slight delay (30 NOPs) into the ISR - the system will fail with 15 tasks! I don’t see how an empty ISR can corrupt the kernel, unless there is some kind of timing issue at hand.
I have enough heap and stack, and I’m out of ideas…
Any comments are welcome!
Thanks in advance.