aboutsummaryrefslogtreecommitdiffstats
path: root/lib/lpc176x/device/TOOLCHAIN_GCC_ARM/LPC1768.ld
diff options
context:
space:
mode:
Diffstat (limited to 'lib/lpc176x/device/TOOLCHAIN_GCC_ARM/LPC1768.ld')
-rw-r--r--lib/lpc176x/device/TOOLCHAIN_GCC_ARM/LPC1768.ld184
1 files changed, 0 insertions, 184 deletions
diff --git a/lib/lpc176x/device/TOOLCHAIN_GCC_ARM/LPC1768.ld b/lib/lpc176x/device/TOOLCHAIN_GCC_ARM/LPC1768.ld
deleted file mode 100644
index a4a05fcb..00000000
--- a/lib/lpc176x/device/TOOLCHAIN_GCC_ARM/LPC1768.ld
+++ /dev/null
@@ -1,184 +0,0 @@
-/* Linker script for mbed LPC1768 */
-#if !defined(MBED_APP_START)
- #define MBED_APP_START 0x00000000
-#endif
-
-#if !defined(MBED_APP_SIZE)
- #define MBED_APP_SIZE 512K
-#endif
-/* Linker script to configure memory regions. */
-MEMORY
-{
- FLASH (rx) : ORIGIN = MBED_APP_START, LENGTH = MBED_APP_SIZE
- RAM (rwx) : ORIGIN = 0x100000C8, LENGTH = (32K - 0xC8 - 32) /* topmost 32 bytes used by IAP functions */
-
- USB_RAM(rwx) : ORIGIN = 0x2007C000, LENGTH = 16K
- ETH_RAM(rwx) : ORIGIN = 0x20080000, LENGTH = 16K
-}
-
-/* Linker script to place sections and symbol values. Should be used together
- * with other linker script that defines memory regions FLASH and RAM.
- * It references following symbols, which must be defined in code:
- * Reset_Handler : Entry of reset handler
- *
- * It defines following symbols, which code can use without definition:
- * __exidx_start
- * __exidx_end
- * __etext
- * __data_start__
- * __preinit_array_start
- * __preinit_array_end
- * __init_array_start
- * __init_array_end
- * __fini_array_start
- * __fini_array_end
- * __data_end__
- * __bss_start__
- * __bss_end__
- * __end__
- * end
- * __HeapLimit
- * __StackLimit
- * __StackTop
- * __stack
- */
-ENTRY(Reset_Handler)
-
-SECTIONS
-{
- .text :
- {
- KEEP(*(.isr_vector))
- /* Code Read Protect data */
- . = 0x000002FC ;
- KEEP(*(.CRPSection))
- /* End of Code Read Protect */
- *(.text*)
-
- KEEP(*(.init))
- KEEP(*(.fini))
-
- /* .ctors */
- *crtbegin.o(.ctors)
- *crtbegin?.o(.ctors)
- *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
- *(SORT(.ctors.*))
- *(.ctors)
-
- /* .dtors */
- *crtbegin.o(.dtors)
- *crtbegin?.o(.dtors)
- *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
- *(SORT(.dtors.*))
- *(.dtors)
-
- *(.rodata*)
-
- KEEP(*(.eh_frame*))
-
-
- } > FLASH
-
- .ARM.extab :
- {
- *(.ARM.extab* .gnu.linkonce.armextab.*)
- } > FLASH
-
- __exidx_start = .;
- .ARM.exidx :
- {
- *(.ARM.exidx* .gnu.linkonce.armexidx.*)
- } > FLASH
- __exidx_end = .;
-
- __etext = .;
-
- .data : AT (__etext)
- {
- __data_start__ = .;
- Image$$RW_IRAM1$$Base = .;
- *(vtable)
- *(.data*)
-
- . = ALIGN(4);
- /* preinit data */
- PROVIDE (__preinit_array_start = .);
- KEEP(*(.preinit_array))
- PROVIDE (__preinit_array_end = .);
-
- . = ALIGN(4);
- /* init data */
- PROVIDE (__init_array_start = .);
- KEEP(*(SORT(.init_array.*)))
- KEEP(*(.init_array))
- PROVIDE (__init_array_end = .);
-
-
- . = ALIGN(4);
- /* finit data */
- PROVIDE (__fini_array_start = .);
- KEEP(*(SORT(.fini_array.*)))
- KEEP(*(.fini_array))
- PROVIDE (__fini_array_end = .);
-
- . = ALIGN(4);
- /* All data end */
- __data_end__ = .;
-
- } > RAM
-
-
- .bss :
- {
- __bss_start__ = .;
- *(.bss*)
- *(COMMON)
- __bss_end__ = .;
- Image$$RW_IRAM1$$ZI$$Limit = . ;
- } > RAM
-
-
- .heap :
- {
- __end__ = .;
- end = __end__;
- *(.heap*)
- __HeapLimit = .;
- } > RAM
-
- /* .stack_dummy section doesn't contains any symbols. It is only
- * used for linker to calculate size of stack sections, and assign
- * values to stack symbols later */
- .stack_dummy :
- {
- *(.stack)
- } > RAM
-
- /* Set stack top to end of RAM, and stack limit move down by
- * size of stack_dummy section */
- __StackTop = ORIGIN(RAM) + LENGTH(RAM);
- __StackLimit = __StackTop - SIZEOF(.stack_dummy);
- PROVIDE(__stack = __StackTop);
-
- /* Check if data + heap + stack exceeds RAM limit */
- ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack")
-
-
- /* Code can explicitly ask for data to be
- placed in these higher RAM banks where
- they will be left uninitialized.
- */
- .AHBSRAM0 (NOLOAD):
- {
- Image$$RW_IRAM2$$Base = . ;
- *(AHBSRAM0)
- Image$$RW_IRAM2$$ZI$$Limit = .;
- } > USB_RAM
-
- .AHBSRAM1 (NOLOAD):
- {
- Image$$RW_IRAM3$$Base = . ;
- *(AHBSRAM1)
- Image$$RW_IRAM3$$ZI$$Limit = .;
- } > ETH_RAM
-}