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.