aboutsummaryrefslogtreecommitdiff
path: root/lib/chibios/demos/SPC5/RT-SPC56EC-EVB/cw/ch/ch.lcf
diff options
context:
space:
mode:
Diffstat (limited to 'lib/chibios/demos/SPC5/RT-SPC56EC-EVB/cw/ch/ch.lcf')
-rw-r--r--lib/chibios/demos/SPC5/RT-SPC56EC-EVB/cw/ch/ch.lcf153
1 files changed, 153 insertions, 0 deletions
diff --git a/lib/chibios/demos/SPC5/RT-SPC56EC-EVB/cw/ch/ch.lcf b/lib/chibios/demos/SPC5/RT-SPC56EC-EVB/cw/ch/ch.lcf
new file mode 100644
index 000000000..d77c1d8cb
--- /dev/null
+++ b/lib/chibios/demos/SPC5/RT-SPC56EC-EVB/cw/ch/ch.lcf
@@ -0,0 +1,153 @@
1/*
2 ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio.
3
4 This file is part of ChibiOS.
5
6 ChibiOS is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 3 of the License, or
9 (at your option) any later version.
10
11 ChibiOS is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program. If not, see <http://www.gnu.org/licenses/>.
18*/
19
20/*
21 * SPC56EC74 memory setup.
22 */
23MEMORY
24{
25 rom : org = 0x00000000, len = 0x00300000
26 dataflash : org = 0x00800000, len = 0x00010000
27 ram : org = 0x40000000, len = 0x00030000
28}
29
30__irq_stack_size__ = 0;
31__process_stack_size__ = 0x1000;
32
33__ram_size__ = SIZEOF(ram);
34__ram_start__ = ADDR(ram);
35__ram_end__ = ADDR(ram) + SIZEOF(ram);
36
37SECTIONS
38{
39 GROUP:
40 {
41 .boot ALIGN(16):
42 {
43 __ivpr_base__ = .;
44 KEEP(*(.boot))
45 }
46
47 .handlers (VLECODE) ALIGN(16):
48 {
49 KEEP(*(.handlers))
50 }
51
52 .crt0 (VLECODE) ALIGN(16):
53 {
54 KEEP(*(.crt0))
55 }
56
57 .init: {}
58 .init_vle (VLECODE) ALIGN(4):
59 {
60 *(.init)
61 *(.init_vle)
62 }
63
64 .vectors ALIGN(0x800):
65 {
66 KEEP(*(.vectors))
67 }
68
69 .code (VLECODE) ALIGN(16):
70 {
71 *(.text)
72 *(.text_vle)
73 }
74
75 .const (CONST) ALIGN(16):
76 {
77 *(.rdata)
78 *(.rodata)
79 }
80
81 .sdata2 (CONST) ALIGN(16):
82 {
83 __sdata2_start__ = . + 0x8000;
84 *(.sdata2)
85 *(.sbss2)
86 }
87
88 .ctors: {}
89 .dtors: {}
90 extab: {}
91 extabindex: {}
92
93 . = ALIGN(4);
94 __romdata_start__ = .;
95 } > rom
96
97 GROUP:
98 {
99 .stacks:
100 {
101 . = ALIGN(8);
102 __irq_stack_base__ = .;
103 . = . + __irq_stack_size__;
104 . = ALIGN(8);
105 __irq_stack_end__ = .;
106 __process_stack_base__ = .;
107 __main_thread_stack_base__ = .;
108 . = . + __process_stack_size__;
109 . = ALIGN(8);
110 __process_stack_end__ = .;
111 __main_thread_stack_end__ = .;
112 }
113
114 .data (DATA) LOAD(__romdata_start__):
115 {
116 . = ALIGN(4);
117 __data_start__ = .;
118 *(.data)
119 . = ALIGN(4);
120 }
121
122 .sdata (DATA) LOAD(ROMADDR(.data) + SIZEOF(.data)):
123 {
124 __sdata_start__ = . + 0x8000;
125 *(.sdata)
126 __data_end__ = .;
127 }
128
129 .sbss (BSS):
130 {
131 __bss_start__ = .;
132 *(.sbss)
133 }
134
135 .bss (BSS):
136 {
137 *(.bss)
138 __bss_end__ = .;
139 }
140
141 /* The default heap uses the (statically) unused part of a RAM section.*/
142 .heap:
143 {
144 . = ALIGN(8);
145 __heap_base__ = .;
146 . = ADDR(ram) + SIZEOF(ram);
147 __heap_end__ = .;
148 }
149
150 .PPC.EMB.sdata0: {}
151 .PPC.EMB.sbss0: {}
152 } > ram
153}