@@ -132,61 +132,48 @@ SECTIONS
132132 } > ram
133133
134134 /* additional ram segment of the lpc1788 */
135- .ram1 :
136- {
137- *(SORT_BY_ALIGNMENT (.ram1 ))
138- *(SORT_BY_ALIGNMENT (.ram1 .*))
139- } > ram1
140-
141- /* static memory, note: not loaded by default. No startup code loads the segments */
142- .static0 (NOLOAD) :
143- {
144- *(SORT_BY_ALIGNMENT (.static0 ));
145- *(SORT_BY_ALIGNMENT (.static0 .*));
146- } > static0
147-
148- .static1 (NOLOAD) :
149- {
150- *(SORT_BY_ALIGNMENT (.static1 ));
151- *(SORT_BY_ALIGNMENT (.static1 .*));
152- } > static1
153-
154- .static2 (NOLOAD) :
155- {
156- *(SORT_BY_ALIGNMENT (.static2 ));
157- *(SORT_BY_ALIGNMENT (.static2 .*));
158- } > static2
159-
160- .static3 (NOLOAD) :
161- {
162- *(SORT_BY_ALIGNMENT (.static3 ));
163- *(SORT_BY_ALIGNMENT (.static3 .*));
164- } > static3
165-
166- /* dynamic memory, note: not loaded by default. No startup code loads the segments */
167- .dynamic0 (NOLOAD) :
168- {
169- *(SORT_BY_ALIGNMENT (.dynamic0 ));
170- *(SORT_BY_ALIGNMENT (.dynamic0 .*));
171- } > dynamic0
172-
173- .dynamic1 (NOLOAD) :
174- {
175- *(SORT_BY_ALIGNMENT (.dynamic1 ));
176- *(SORT_BY_ALIGNMENT (.dynamic1 .*));
177- } > dynamic1
178-
179- .dynamic2 (NOLOAD) :
180- {
181- *(SORT_BY_ALIGNMENT (.dynamic2 ));
182- *(SORT_BY_ALIGNMENT (.dynamic2 .*));
183- } > dynamic2
184-
185- .dynamic3 (NOLOAD) :
186- {
187- *(SORT_BY_ALIGNMENT (.dynamic3 ));
188- *(SORT_BY_ALIGNMENT (.dynamic3 .*));
189- } > dynamic3
135+ DATA_SECTION (ram1, ram1, rom)
136+ BSS_SECTION (ram1, ram1)
137+
138+ /* static memory */
139+ DATA_SECTION (static0, static0, rom)
140+ DATA_SECTION (static1, static1, rom)
141+ DATA_SECTION (static2, static2, rom)
142+ DATA_SECTION (static3, static3, rom)
143+ BSS_SECTION (static0, static0)
144+ BSS_SECTION (static1, static1)
145+ BSS_SECTION (static2, static2)
146+ BSS_SECTION (static3, static3)
147+
148+ /* dynamic memory */
149+ DATA_SECTION (dynamic0, dynamic0, rom)
150+ DATA_SECTION (dynamic1, dynamic1, rom)
151+ DATA_SECTION (dynamic2, dynamic2, rom)
152+ DATA_SECTION (dynamic3, dynamic3, rom)
153+ BSS_SECTION (dynamic0, dynamic0)
154+ BSS_SECTION (dynamic1, dynamic1)
155+ BSS_SECTION (dynamic2, dynamic2)
156+ BSS_SECTION (dynamic3, dynamic3)
157+
158+ /* create a table to initialize the data sections on a secondary memory */
159+ DATA_MULTISECTION_TABLE (
160+ DATA_SECTION_ENTRY (ram1)
161+ DATA_SECTION_ENTRY (dynamic0)
162+ DATA_SECTION_ENTRY (dynamic1)
163+ DATA_SECTION_ENTRY (dynamic2)
164+ DATA_SECTION_ENTRY (dynamic3)
165+ DATA_SECTION_ENTRY_END ()
166+ ) > rom
167+
168+ /* create a table to initialize the bss sections on a secondary memory */
169+ BSS_MULTISECTION_TABLE (
170+ BSS_SECTION_ENTRY (ram1)
171+ BSS_SECTION_ENTRY (dynamic0)
172+ BSS_SECTION_ENTRY (dynamic1)
173+ BSS_SECTION_ENTRY (dynamic2)
174+ BSS_SECTION_ENTRY (dynamic3)
175+ BSS_SECTION_ENTRY_END ()
176+ ) > rom
190177
191178 /* Heap segment */
192179 .heap (NOLOAD) :
0 commit comments