Unscheduled Scheduler Stoppage

Richard, After my target runs for awhile – I get a stoppage: My call stack looks like this: main() prvIdleTask(_A_IE1(0x0) [PC=Memory:0x3082] In main: …     vTaskStartScheduler(); // shouldn’t get past this point unless a task calls vTaskEndScheduler() // Note – I have a breakpoint on this first NOOP but it doesn’t stop there         __no_operation();         __no_operation();         while (1) {         __no_operation();         __no_operation(); // I have a breakpoint on the 2nd NOOP (just above) and the debugger stops here.   // turn Debug LED’s on:         asm("bis.b     #0x80,&0x1d");                    asm("bis.b     #0x01,&0x1d");             } I run the Idle Hook as well – this (crash) doesn’t always happen either – but I assume all of my targets will eventually fail. What are some reasons this can happen?  I know this may seem a bit nebulous – but the Scheduler is exiting (even though the vTaskEndScheduler() function) – isn’t being called. It seems that somehow the return address from the vTaskStartScheduler(); call is getting popped into the PC and executed – or at least an address+2 or something. From my linker map file: DATA16_Z   Relative segment, address: 3082 – 3085 (0x4 bytes), align: 1   Segment part 5.             Intra module refs:   pvPortMalloc            LOCAL                   ADDRESS                    =====                   =======                    xEnd                    3082 I’m using heap_2.c as my memory manager: /* xEnd is used to mark the end of the list of free blocks. */    I’m also saying that the IdleTask & Hook should yield – it seems this problem may be occurring during that. Thanks In Advance, John W.

Unscheduled Scheduler Stoppage

I understand not the sentense "I’m also saying that the IdleTask & Hook should yield".  The idle task must always be in a ready state and not blocked so just yield must be ok.  Sorry to state obvious but sometimes it can help.  Otherwise is the idle task stack causing a problem under some interrupt conditions?

Unscheduled Scheduler Stoppage

Idle task doesn’t block – correct. I think the Idle Task Stack may be causing a problem under some interrupt conditions – yes. Thanks, John