]> git.donarmstrong.com Git - kiibohd-controller.git/blob - Lib/mk20dx128vlf5.ld
More work on mk20dx128vlf5 port.
[kiibohd-controller.git] / Lib / mk20dx128vlf5.ld
1 /* -*- mode: ld-script; -*- */
2 /*
3  * Linker script for MK20DX128VLF5
4  */
5 MEMORY
6 {
7         FLASH (rx) : ORIGIN = 3K, LENGTH = 128K-3K
8         RAM  (rwx) : ORIGIN = 0x20000000 - 16K / 2, LENGTH = 16K
9 }
10
11 /* Section Definitions */
12 SECTIONS
13 {
14         .text :
15         {
16                 . = 0;
17                 KEEP(* (.vectors))
18                 *(.startup*)
19                 *(.text*)
20                 *(.rodata*)
21                 . = ALIGN(4);
22                 KEEP(*(.init))
23                 . = ALIGN(4);
24                 __preinit_array_start = .;
25                 KEEP (*(.preinit_array))
26                 __preinit_array_end = .;
27                 __init_array_start = .;
28                 KEEP (*(SORT(.init_array.*)))
29                 KEEP (*(.init_array))
30                 __init_array_end = .;
31         } > FLASH = 0xFF
32
33         .ARM.exidx :
34         {
35                 __exidx_start = .;
36                 *(.ARM.exidx* .gnu.linkonce.armexidx.*)
37                 __exidx_end = .;
38         } > FLASH
39         _etext = .;
40
41         .usbdescriptortable (NOLOAD) : {
42                 . = ALIGN(512);
43                 *(.usbdescriptortable*)
44         } > RAM
45
46         .dmabuffers (NOLOAD) : {
47                 . = ALIGN(4);
48                 *(.dmabuffers*)
49         } > RAM
50
51         .usbbuffers (NOLOAD) : {
52                 . = ALIGN(4);
53                 *(.usbbuffers*)
54         } > RAM
55
56         .data : AT (_etext) {
57                 . = ALIGN(4);
58                 _sdata = .;
59                 *(.data*)
60                 . = ALIGN(4);
61                 _edata = .;
62         } > RAM
63
64         .noinit (NOLOAD) : {
65                 *(.noinit*)
66         } > RAM
67
68         .bss : {
69                 . = ALIGN(4);
70                 _sbss = .;
71                 *(.bss*)
72                 *(COMMON)
73                 . = ALIGN(4);
74                 _ebss = .;
75                 __bss_end = .;
76         } > RAM
77
78         _estack = ORIGIN(RAM) + LENGTH(RAM);
79 }
80