How to calculate configTOTAL_HEAP_SIZE?

I am using LPC2138, with 32K RAM. I am using heap_1.c I have 9 tasks running. the total stack size is 20480 bytes. Does that mean i just need to set up the configTOTAL_HEAP_SIZE to 20480 bytes? Thanks Paul

How to calculate configTOTAL_HEAP_SIZE?

It needs to be larger than that as you also need to allocate the task control blocks for the tasks. A couple of ideas to help you. i/ In pvPortMalloc (heap_1.c) add the following lines before the return statement. if( pvReturn == NULL ) {    /* Place some code here for a breakpoint */ } then add a break point where specified.  If you run out of heap then it will break on your break point. ii/  Fill the heap with a known value memcpy( xHeap.ucHeap, 0xaa, configTOTAL_HEAP_SIZE ); before you use the heap.  Then you can look at the heap and see how much remains.

How to calculate configTOTAL_HEAP_SIZE?

Thanks a lot I think you are using a JTAG debugger. I just got one WIGGLER, cost me $125. I am going to set it up today. I am using Eclipse, CDT, OCDEMON. any suggestions?

How to calculate configTOTAL_HEAP_SIZE?

You metioned that "to allocate the task control blocks for the tasks". Do I have to that? Where can I do that? Thank you!

How to calculate configTOTAL_HEAP_SIZE?

When you create a task the scheduler grabs memory from the heap – into which it places the TCB and the task stack.  You do not need to do this manually. Regards.