altos: Clean up boot loader support
[fw/altos] / src / stm / altos-application.ld
index 63a3be0002345662eb4f5acf906491890ed0c835..5110da845dd4f21afc323db3ac8ca5b2d55dbb56 100644 (file)
@@ -48,16 +48,27 @@ SECTIONS {
                __text_end__ = .;
        } > rom
 
                __text_end__ = .;
        } > rom
 
+       /* Boot data which must live at the start of ram so that
+        * the application and bootloader share the same addresses.
+        * This must be all uninitialized data
+        */
+       .boot : {
+               __boot_start__ = .;
+               *(.boot)
+               . = ALIGN(4);
+               __boot_end__ = .;
+       } >ram
+
        /* Data -- relocated to RAM, but written to ROM
         */
        /* Data -- relocated to RAM, but written to ROM
         */
-       .data ORIGIN(ram) : AT (ADDR(.ARM.exidx) + SIZEOF (.ARM.exidx)) {
+       .data : {
                __data_start__ = .;
                *(.data)        /* initialized data */
                __data_end__ = .;
                __data_start__ = .;
                *(.data)        /* initialized data */
                __data_end__ = .;
-               __bss_start__ = .;
-       } >ram
+       } >ram AT>rom
 
        .bss : {
 
        .bss : {
+               __bss_start__ = .;
                *(.bss)
                *(COMMON)
                __bss_end__ = .;
                *(.bss)
                *(COMMON)
                __bss_end__ = .;