HI
I am looking at using FreeRtos with a PIC32MX. I compiled and ran the demo. MPLAB shows 31996 out of 32768 bytes of ram used. I have previously used FreeRtos on an AVR part with far less ram. I think FreeRtos has grabbed all the ram but hopefully is not using all of it.
If you are using heap_1.c or heap_2.c then configTOTAL_HEAP_SIZE in FreeRTOSConfig.h will dimension a simple array that is used as the heap. The memory gauge in MPLAB will show you the entire heap as used RAM - even though only part of it will actually be used.
The demo applications generally just keep generating tasks until the RAM is exhausted. You can use xPortGetFreeHeapSize() to see how much heap is unused once your application is running. You can then reduce the setting of configTOTAL_HEAP_SIZE accordingly.
Use uxTaskGetStackHighWaterMark() to fine tune the stack size allocated to each task.
Do you know who does the demos? I used xPortGetFreeHeapSize() and found there is 0x01D8 bytes of free heap. This means that the demo is using approximately 27.5K of ram.
Is there a demo that leaves enough ram to add an application?
I did find a reference to printf taking a lot of space. I will try to remove it, but, STILL 27.5K