Greetings all, I have interesting problem... Yesterday I ran very low on stack and found that I was using much more memory than I expected.
Each file in my project declares variables as follows: static unsigned char MY_variable; What I found in the output of msp430-nm and msp430-objdump was that MY_variable was allocated to an even address and consumed 2 bytes of RAM. When I remove static, which is there to protect it from other modules getting at it with "extern" as follows: unsigned char MY_variable; I found that the variable was allocated only a single byte of RAM and allocated to an odd or even address. Why is this the case? Are there more effects of this static usage than simply scoping? Does this apply to all gcc ports, not just msp430? Thanks, James
