HELP


#1

u32 wm_apmCustomStack[60000];
const u16 wm_apmCustomStackSize = sizeof(wm_apmCustomStack);

I input this number “60000”,how max is this number ???

but now ,my Q24PLUS001 is not run!!!

who can help me!!!

help!!!


#2

Hiya,

You’ve just done two things:

  1. Allocate an array of 60000 u32’s on the stack. Given that a u32 = 4 bytes; you have attempted to allocate an array of 240000 bytes (approx 234k)
  2. You’ve also requested the operating system to allocate an internal stack approx 234k long

You have now requested approx 468k or RAM be set aside for your application. Now I’m not sure about the Q24 - but if you tried doing this on the Q26 you would have just allocated almost 50% of the available ram to the application stack - and then used up all that stack space by filling it with a giant array…

I’m not surprised. Don’t forget that your OpenAT application is only 1 of a number of tasks running inside the Wavecom module - and that all the radio/GSM firmware takes priority over you application.

Try winding back your stack size back to 4096 or 8192 bytes, and don’t fill it with giant arrays. Instead, use heap memory (i.e. adl_memGet() & adl_memRelease()) to allocate pointers to large data structures.

ciao, Dave