diff --git a/ld/emulparams/msp430elf.sh b/ld/emulparams/msp430elf.sh index a76e9ee..e9d0237 100644 --- a/ld/emulparams/msp430elf.sh +++ b/ld/emulparams/msp430elf.sh @@ -13,6 +13,6 @@ EMBEDDED=yes ARCH=msp:14 ROM_START=0x8000 ROM_SIZE=0x7fe0 -RAM_START=0x0200 +RAM_START=0x0500 RAM_SIZE=1K STACK=0x600 diff --git a/ld/scripttempl/elf32msp430.sc b/ld/scripttempl/elf32msp430.sc index 78c7c12..50b7ddb 100644 --- a/ld/scripttempl/elf32msp430.sc +++ b/ld/scripttempl/elf32msp430.sc @@ -269,6 +269,9 @@ SECTIONS ${RELOCATING+ _edata = . ; } } ${RELOCATING+ > data ${RELOCATING+AT> text}} + __romdatastart = LOADADDR(.data); + __romdatacopysize = SIZEOF(.data); + .bss ${RELOCATING+ SIZEOF(.data) + ADDR(.data)} : { ${RELOCATING+. = ALIGN(2);} diff --git a/ld/scripttempl/elf32msp430_3.sc b/ld/scripttempl/elf32msp430_3.sc index 7a13081..7ad04e1 100644 --- a/ld/scripttempl/elf32msp430_3.sc +++ b/ld/scripttempl/elf32msp430_3.sc @@ -147,6 +147,9 @@ SECTIONS ${RELOCATING+ _edata = . ; } } ${RELOCATING+ > data ${RELOCATING+AT> text}} + __romdatastart = LOADADDR(.data); + __romdatacopysize = SIZEOF(.data); + .bss ${RELOCATING+ SIZEOF(.data) + ADDR(.data)} : { ${RELOCATING+. = ALIGN(2);}