1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- /* Entry Point */
- ENTRY(Reset_Handler)
- /* Specify the memory areas */
- MEMORY
- {
- ROM (arx) : ORIGIN = 0x00000000, LENGTH = 0x00080000 /* 512k */
- RAM (arw) : ORIGIN = 0x20000000, LENGTH = 0x00020000 /* 128k */
- }
- /* Define output sections */
- SECTIONS
- {
- . = ORIGIN(ROM);
- .text :
- {
- KEEP(*(.isr_vector))
- *(.text)
- *(.text*)
- *(.rodata*)
- } > ROM
- . = ALIGN(4);
- __data_load__ = LOADADDR(.data);
- . = ALIGN(4);
- .data :
- {
- __data_start__ = .;
-
- *(.data)
- *(.data*)
- . = ALIGN(4);
- __data_end__ = .;
- } > RAM AT> ROM
- . = ALIGN(4);
- .bss :
- {
- __bss_start__ = .;
- *(.bss)
- *(.bss*)
- *(COMMON)
- . = ALIGN(4);
- __bss_end__ = .;
- } > RAM
- . = ALIGN(4);
- .heap :
- {
- end = .;
- __HeapBase = .;
- *(.heap)
- } > RAM
- /* .stack_dummy section doesn't contains any symbols.
- * It is only used for linker to calculate size of stack sections */
- .stack_dummy :
- {
- *(.stack)
- } > RAM
- __StackTop = ORIGIN(RAM) + LENGTH(RAM);
- __StackLimit = __StackTop - SIZEOF(.stack_dummy);
- ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack")
- }
|