try declaring i as volatile, or the compiler will probably get rid of it since 
it has no effect or side-effect.
Sent via BlackBerry from Vodafone

-----Original Message-----
From: Carl <[email protected]>
Date: Fri, 19 Feb 2010 18:29:03 
To: <[email protected]>
Subject: [Mspgcc-users] stack variable in flash?

I'm sure that I'm missing some basic here but I'm not sure what. The
first variable on the stack is in an unexpected location. I would expect
it to be located somewhere on the stack in RAM (0x30ff-0x1100) but it is
located in flash memory and it does not get set or incremented.


#include <io.h>

int main()
{
    int i=0;
    while(1)
        i++;
}

msp430-gcc -g -O0 -mmcu=msp430x2618 -I/opt/msp430/4.4.2/include main.c

(gdb) load a.out
Loading section .text, size 0x46 lma 0x3100
Loading section .vectors, size 0x40 lma 0xffc0
Start address 0x3100, load size 134
Transfer rate: 1 KB/sec, 33 bytes/write.
(gdb) c
Continuing.
^C
Program received signal SIGINT, Interrupt.
main () at main.c:7
7               i++;
(gdb) p &i
$1 = (int *) 0x3102




------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Mspgcc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users

Reply via email to