I am new to FreeRTOS and have been learning using the debug demo project included in Dave Lyneham’s rtos.zip which was referenced in the x86 write up (http://www.freertos.org/portternee.html).
In main() I created 3 tasks, Each task does a forever loop incrementing a counter variable and then SLEEP_MS(1000). This code works if the 3 tasks have the same priority. But when I change each task’s priority (for example task 1 has priority 1, task 2 has priority 0, and task 3 has priority 2) then the application crashes when vTaskStartScheduler is called.
freertosconfig.h has #define configUSE_PREEMPTION 0
The controller board is Tern’s B engine with 512 MB SDRAM.
Paradigm C++ V7.00.0054, Tern Edition is the development tool.
The memory model is large.
I would prefer to use preemption but it crashes even when the priorities are identical. Is there something I have to do in addition to the freertosconfig.h #define change?