Hi
I have a few questions about the stack size (LPC2200 controller).
E.g. in my programm is a main function with an array
short example[16][500];
16 * 500 * 4 (short) = 3,9 kByte
In which value will I find this array in the calculation when I rebuild all files (code, RO-data, RW-data, Zi-data)?
Moreover is it true, that the stack size will be configurated in the startup file? And the default value is 0x400 for the user stack - so I would need a much bigger value for the user stack?
After a few minutes I saw the map file where I figured out that the stack is growing from a low base.
In my case at the beginning of the internal ram there's a libspace (atmel-lib and string.h) and after that there's the heap (size = 0) and the stack size...
Is it ok, to increase the stack size up to the highest addr from the internal RAM?
best regards Albert
Why do you assume that short is four bytes large? Have you verified or somehow a strong reason to believe that?
How do you declare a 16-bit variable?
Yes you're right. 4 Bytes is one integer and 2 Bytes is one short variable....
I fill the array with default values using an for-loop (during the main function).
Doesn't the startup file tell you the size of the user stack?
Yes but it seems to me that it is only a default value. But is it ok to increase this value up to the internal RAM?