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




Reply via email to