@@ -107,20 +107,20 @@ SECTIONS
107
107
} > SRAM2
108
108
__etext = .;
109
109
110
- __data_start__ = .;
111
-
112
110
.data.sram1 :
113
111
{
114
- . = ALIGN (8);
112
+ . = ALIGN (4);
113
+ __data_start__ = .;
115
114
__sram_data_start__ = .;
116
115
*rtl8195a_crypto*.o (.data*)
117
116
*mbedtls*.o (.data*)
117
+ __data_end__ = .;
118
118
__sram_data_end__ = .;
119
119
} > SRAM1
120
120
121
121
.data.sram2 :
122
122
{
123
- __sdram_data_start__ = .;
123
+ __dram_data_start__ = .;
124
124
*(vtable)
125
125
*(.data*)
126
126
*(.sdram.data*)
@@ -145,12 +145,8 @@ SECTIONS
145
145
KEEP(*(.fini_array))
146
146
PROVIDE (__fini_array_end = .);
147
147
148
- . = ALIGN (8);
149
-
150
- __sdram_data_end__ = .;
151
- /* All data end */
148
+ __dram_data_end__ = .;
152
149
} > SRAM2
153
- __data_end__ = .;
154
150
__image2_end__ = .;
155
151
156
152
.ARM.extab :
@@ -167,24 +163,24 @@ SECTIONS
167
163
168
164
.bss.sram1 (NOLOAD) :
169
165
{
166
+ __bss_start__ = .;
170
167
__bss_sram_start__ = .;
171
168
*rtl8195a_crypto*.o (.bss* COMMON)
172
169
*mbedtls*.o (.bss* COMMON)
173
170
*(.bss.thread_stack_main)
174
171
*lib_peripheral_mbed_gcc.a : (.bss* COMMON)
175
172
*mbed_boot*.o (.bss* COMMON)
176
173
__bss_sram_end__ = .;
174
+ __bss_end__ = .;
177
175
} > SRAM1
178
176
179
177
.bss.sram2 (NOLOAD) :
180
178
{
181
- __bss_start__ = .;
182
179
__bss_dram_start__ = .;
183
180
*(.bss*)
184
181
*(COMMON)
185
182
*(.bdsram.data*)
186
183
__bss_dram_end__ = .;
187
- __bss_end__ = .;
188
184
} > SRAM2
189
185
190
186
.bf_data :
@@ -199,7 +195,7 @@ SECTIONS
199
195
__end__ = .;
200
196
end = __end__;
201
197
*(.heap*)
202
- . = ORIGIN (SRAM1) + LENGTH (SRAM1) - StackSize;
198
+ . = ORIGIN (SRAM1) + LENGTH (SRAM1) - StackSize;
203
199
__HeapLimit = .;
204
200
} > SRAM1
205
201
@@ -219,7 +215,7 @@ SECTIONS
219
215
{
220
216
__StackLimit = .;
221
217
*(.stack)
222
- . += StackSize - (. - __StackLimit);
218
+ . += StackSize - (. - __StackLimit);
223
219
} > SRAM1
224
220
225
221
/* Set stack top to end of RAM, and stack limit move down by
@@ -228,6 +224,9 @@ SECTIONS
228
224
__StackLimit = __StackTop - StackSize;
229
225
PROVIDE (__stack = __StackTop);
230
226
227
+ /* Check if reserved stack size is too small */
228
+ ASSERT (StackSize >= SIZEOF (.stack_dummy), "reserved stack size is too small")
229
+
231
230
/* Check if data + heap + stack exceeds RAM limit */
232
231
ASSERT (__StackLimit >= __HeapLimit, "region RAM exceeds ram limit")
233
232
}
0 commit comments