*
*/
-SEARCH_DIR(.)
-OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
-OUTPUT_ARCH(arm)
-
/*
* Define memory configuration for STM32F103R8
*/
ram(rwx) : org = 0x20000000, len = 20k
}
-/*
- * Define stack size here
- */
-STACK_SIZE = 0x1000;
-
-/*
- * Allocate section memory
- */
-SECTIONS
-{
- .text :
- {
- KEEP(*(.vectors));
- . = ALIGN (4);
- KEEP(*(.init));
- . = ALIGN (4);
- *(.rodata .rodata.*);
- . = ALIGN (4);
- *(.text .text.*);
- . = ALIGN (4);
- *(.glue_7t);
- . = ALIGN(4);
- *(.glue_7);
- . = ALIGN(4);
- } > rom
+INCLUDE "bertos/cpu/cortex-m3/scripts/cortex-m3_rom.ld"
- __text_end = .;
- PROVIDE (__text_end = .);
-
- .data : AT (__text_end)
- {
- PROVIDE (__data_start = .);
- . = ALIGN (0x400);
- *(vtable)
- *(.data .data.*)
- . = ALIGN (4);
- _edata = .;
- PROVIDE (__data_end = .);
- } > ram
-
- .bss :
- {
- PROVIDE (__bss_start = .);
- *(.bss .bss.*)
- . = ALIGN(4);
- *(COMMON)
- . = ALIGN(4);
- PROVIDE (__bss_end = .);
- } > ram
-
- /*
- * Allocated stack at the end of bss section.
- * Data heap is allocate at end of stack.
- */
- PROVIDE (__msp_start = .);
- . = ALIGN(8);
- . += STACK_SIZE;
- PROVIDE (__msp_end = .);
-
- PROVIDE (__psp_start = .);
- . = ALIGN(8);
- . += STACK_SIZE;
- PROVIDE (__psp_end = .);
-
- PROVIDE (__heap_start = .);
- . = ALIGN(8);
-}