1 /*###ICF### Section handled by ICF editor, don't touch! ****/
2 /*-Editor annotation file-*/
3 /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v2_1.xml" */
6 define symbol __ICFEDIT_intvec_start__ = 0x10040000;
9 define symbol __ICFEDIT_region_IROM1_start__ = 0x10040000;
10 define symbol __ICFEDIT_region_IROM1_end__ = 0x1007FFFF;
11 define symbol __ICFEDIT_region_IROM2_start__ = 0x0;
12 define symbol __ICFEDIT_region_IROM2_end__ = 0x0;
13 define symbol __ICFEDIT_region_EROM1_start__ = 0x0;
14 define symbol __ICFEDIT_region_EROM1_end__ = 0x0;
15 define symbol __ICFEDIT_region_EROM2_start__ = 0x0;
16 define symbol __ICFEDIT_region_EROM2_end__ = 0x0;
17 define symbol __ICFEDIT_region_EROM3_start__ = 0x0;
18 define symbol __ICFEDIT_region_EROM3_end__ = 0x0;
19 define symbol __ICFEDIT_region_IRAM1_start__ = 0x30008000;
20 define symbol __ICFEDIT_region_IRAM1_end__ = 0x30017FFF;
21 define symbol __ICFEDIT_region_IRAM2_start__ = 0x0;
22 define symbol __ICFEDIT_region_IRAM2_end__ = 0x0;
23 define symbol __ICFEDIT_region_ERAM1_start__ = 0x0;
24 define symbol __ICFEDIT_region_ERAM1_end__ = 0x0;
25 define symbol __ICFEDIT_region_ERAM2_start__ = 0x0;
26 define symbol __ICFEDIT_region_ERAM2_end__ = 0x0;
27 define symbol __ICFEDIT_region_ERAM3_start__ = 0x0;
28 define symbol __ICFEDIT_region_ERAM3_end__ = 0x0;
31 define symbol __ICFEDIT_size_cstack__ = 0x800;
32 define symbol __ICFEDIT_size_proc_s_stack__ = 0x0;
33 define symbol __ICFEDIT_size_main_ns_stack__ = 0x0;
34 define symbol __ICFEDIT_size_proc_ns_stack__ = 0x0;
35 define symbol __ICFEDIT_size_heap__ = 0x0;
37 /**** End of ICF editor section. ###ICF###*/
48 * 3. Unprivileged Code:
53 define symbol __region_ROM_Privileged_start__ = 0x10040000;
54 define symbol __region_ROM_Privileged_end__ = 0x10046FFF;
55 define symbol __region_ROM_SystemCalls_start__ = 0x10047000;
56 define symbol __region_ROM_SystemCalls_end__ = 0x10047FFF;
57 define symbol __region_ROM_Unprivileged_start__ = 0x10048000;
58 define symbol __region_ROM_Unprivileged_end__ = 0x1007FFFF;
65 * 2. Unprivileged Data:
70 define symbol __region_RAM_Privileged_start__ = 0x30008000;
71 define symbol __region_RAM_Privileged_end__ = 0x30008FFF;
72 define symbol __region_RAM_Unprivileged_start__ = 0x30009000;
73 define symbol __region_RAM_Unprivileged_end__ = 0x30017FFF;
76 define memory mem with size = 4G;
77 define region ROM_Privileged_region = mem:[from __region_ROM_Privileged_start__ to __region_ROM_Privileged_end__];
78 define region ROM_SystemCalls_region = mem:[from __region_ROM_SystemCalls_start__ to __region_ROM_SystemCalls_end__];
79 define region ROM_Unprivileged_region = mem:[from __region_ROM_Unprivileged_start__ to __region_ROM_Unprivileged_end__];
80 define region RAM_Privileged_region = mem:[from __region_RAM_Privileged_start__ to __region_RAM_Privileged_end__];
81 define region RAM_Unprivileged_region = mem:[from __region_RAM_Unprivileged_start__ to __region_RAM_Unprivileged_end__];
84 define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
85 define block PROC_STACK_S with alignment = 8, size = __ICFEDIT_size_proc_s_stack__ { };
86 define block MAIN_STACK_NS with alignment = 8, size = __ICFEDIT_size_main_ns_stack__ { };
87 define block PROC_STACK_NS with alignment = 8, size = __ICFEDIT_size_proc_ns_stack__ { };
88 define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
91 do not initialize { section .noinit };
92 initialize by copy { readwrite };
93 if( isdefinedsymbol(__USE_DLIB_PERTHREAD) )
95 /* Required in a multi-threaded application. */
96 initialize by copy with packing = none { section __DLIB_PERTHREAD };
99 /* Exported symbols. */
100 define exported symbol __privileged_functions_start__ = __region_ROM_Privileged_start__;
101 define exported symbol __privileged_functions_end__ = __region_ROM_Privileged_end__;
102 define exported symbol __syscalls_flash_start__ = __region_ROM_SystemCalls_start__;
103 define exported symbol __syscalls_flash_end__ = __region_ROM_SystemCalls_end__;
104 define exported symbol __unprivileged_flash_start__ = __region_ROM_Unprivileged_start__;
105 define exported symbol __unprivileged_flash_end__ = __region_ROM_Unprivileged_end__;
106 define exported symbol __privileged_sram_start__ = __region_RAM_Privileged_start__;
107 define exported symbol __privileged_sram_end__ = __region_RAM_Privileged_end__;
110 place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
112 place in ROM_Privileged_region { readonly section privileged_functions };
113 place in ROM_SystemCalls_region { readonly section freertos_system_calls };
114 place in ROM_Unprivileged_region { readonly };
116 place in RAM_Privileged_region { readwrite section privileged_data };
117 place in RAM_Unprivileged_region { readwrite,
118 block CSTACK, block PROC_STACK_S, block MAIN_STACK_NS, block PROC_STACK_NS, block HEAP };