Руслан Урядинский / libuavcan

Dependents:   UAVCAN UAVCAN_Subscriber

Revision:
0:dfe6edabb8ec
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libuavcan_drivers/lpc11c24/test_olimex_lpc_p11c24/lpc11c24.ld	Sat Apr 14 10:25:32 2018 +0000
@@ -0,0 +1,104 @@
+/*
+ * Pavel Kirienko, 2014 <pavel.kirienko@gmail.com>
+ * Linker script for LPC11C24
+ */
+
+MEMORY
+{
+    FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 32K
+    /* Notice RAM offset - this is needed for on-chip CCAN */
+    RAM (rwx) :  ORIGIN = 0x100000C0, LENGTH = 0x1F40
+}
+
+ENTRY(Reset_Handler)
+
+SECTIONS
+{
+    . = 0;
+    _text = .;
+
+    startup :
+    {
+        KEEP(*(vectors))
+    } > FLASH
+
+    constructors : ALIGN(4) SUBALIGN(4)
+    {
+        PROVIDE(__init_array_start = .);
+        KEEP(*(SORT(.init_array.*)))
+        KEEP(*(.init_array))
+        PROVIDE(__init_array_end = .);
+    } > FLASH
+
+    /* NO DESTRUCTORS */
+
+    .text :
+    {
+        *(.text.startup.*)
+        *(.text)
+        *(.text.*)
+        *(.rodata)
+        *(.rodata.*)
+        *(.glue_7t)
+        *(.glue_7)
+        *(.gcc*)
+    } > FLASH
+
+    .ARM.extab :
+    {
+        *(.ARM.extab* .gnu.linkonce.armextab.*)
+    } > FLASH
+
+    .ARM.exidx : {
+        PROVIDE(__exidx_start = .);
+        *(.ARM.exidx* .gnu.linkonce.armexidx.*)
+        PROVIDE(__exidx_end = .);
+     } > FLASH
+
+    .eh_frame_hdr :
+    {
+        *(.eh_frame_hdr)
+    } > FLASH
+
+    .eh_frame : ONLY_IF_RO
+    {
+        *(.eh_frame)
+    } > FLASH
+
+    .textalign : ONLY_IF_RO
+    {
+        . = ALIGN(8);
+    } > FLASH
+
+    . = ALIGN(4);
+    _etext = .;
+    _textdata = _etext;
+
+    .data :
+    {
+        . = ALIGN(4);
+        PROVIDE(_data = .);
+        *(.data)
+        . = ALIGN(4);
+        *(.data.*)
+        . = ALIGN(4);
+        *(.ramtext)
+        . = ALIGN(4);
+        PROVIDE(_edata = .);
+    } > RAM AT > FLASH
+
+    .bss :
+    {
+        . = ALIGN(4);
+        PROVIDE(_bss = .);
+        *(.bss)
+        . = ALIGN(4);
+        *(.bss.*)
+        . = ALIGN(4);
+        *(COMMON)
+        . = ALIGN(4);
+        PROVIDE(_ebss = .);
+    } > RAM
+
+    PROVIDE(__stack_end = ORIGIN(RAM) + LENGTH(RAM));
+}