|
|
@@ -8,6 +8,8 @@ define symbol __ICFEDIT_region_ROM_start__ = 0x0100000;
|
|
|
define symbol __ICFEDIT_region_ROM_end__ = 0x0101FFF;
|
|
|
define symbol __ICFEDIT_region_RAM_start__ = 0x0104000;
|
|
|
define symbol __ICFEDIT_region_RAM_end__ = 0x0107FFF;
|
|
|
+define symbol __ICFEDIT_region_RELOCATE_start__ = 0x00108000;
|
|
|
+define symbol __ICFEDIT_region_RELOCATE_end__ = 0x0010ffff;
|
|
|
|
|
|
/*-Sizes-*/
|
|
|
define symbol __ICFEDIT_size_cstack__ = 0x1000;
|
|
|
@@ -50,13 +52,14 @@ define region ROM_region_privileged = mem:[from __reigon_ROM_privileged_star
|
|
|
define region ROM_region_unprivileged = mem:[from __reigon_ROM_unprivileged_start__ to __reigon_ROM_unprivileged_end__];
|
|
|
define region RAM_region_privileged = mem:[from __region_RAM_privileged_start__ to __region_RAM_privileged_end__];
|
|
|
define region RAM_region_unprivileged = mem:[from __region_RAM_unprivileged_start__ to __region_RAM_unprivileged_end__];
|
|
|
+define region RELOCATE_region = mem:[from __ICFEDIT_region_RELOCATE_start__ to __ICFEDIT_region_RELOCATE_end__];
|
|
|
|
|
|
/* Stack and Heap. */
|
|
|
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
|
|
|
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
|
|
|
|
|
|
/* Initialization. */
|
|
|
-initialize by copy { readwrite };
|
|
|
+initialize by copy { readwrite, section realocate_functions };
|
|
|
do not initialize { section .noinit };
|
|
|
do not initialize { section privileged_data };
|
|
|
|
|
|
@@ -79,4 +82,5 @@ place in ROM_region_privileged { readonly section privileged_functions };
|
|
|
place in ROM_region_unprivileged { readonly };
|
|
|
place in RAM_region_privileged { readwrite section privileged_data };
|
|
|
place in RAM_region_unprivileged { readwrite,
|
|
|
- block CSTACK, block HEAP };
|
|
|
+ block CSTACK, block HEAP };
|
|
|
+place in RELOCATE_region { readwrite section realocate_functions };
|