How set the correct stack and heap size ?

Showing results for 
Show  only  | Search instead for 
Did you mean: 

How set the correct stack and heap size ?

Contributor III


I am writing a multi-task app, using MQX and a K64. I am currently facing at some time a MQX_OUT_OF_MEMORY error, so I have used TAD, and I have some idea which task stack to increase or decrease. My question is about the linker, I see this line :

 -Xlinker --defsym=__stack_size__=0x400  -Xlinker --defsym=__heap_size__=0x5000 (changed by me)

and it seems the task stack is taken from the heap. So if do the math and add all the task stacks I use, I get about 0x9d00.

- Do I must understand I was very lucky and this overflow wasn't doing anything bad to me for the moment ? I should then set the heap size to 0x10000 for example ?

- The K64 I use has got 256KB of RAM. Which size maximum can I use for the heap ?

- the (real) stack (size 0x400) is used by all the stuff outside MQX and its tasks ? (startup.c etc)

Thanks for your help !

0 Kudos
1 Reply

NXP TechSupport
NXP TechSupport

Hi Samuel:

Do you use Classic MQX 4.2 or MQX for KSDK 1.3?



0 Kudos