1 /*###ICF### Section handled by ICF editor, don't touch! ****/
\r
2 /*-Editor annotation file-*/
\r
3 /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
\r
5 define symbol __ICFEDIT_intvec_start__ = 0x08000000;
\r
7 define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
\r
8 define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF;
\r
9 define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
\r
10 define symbol __ICFEDIT_region_RAM_end__ = 0x20017FFF;
\r
13 define symbol __ICFEDIT_size_cstack__ = 0x400;
\r
14 define symbol __ICFEDIT_size_heap__ = 0x200;
\r
15 /**** End of ICF editor section. ###ICF###*/
\r
17 /* Flash Organization
\r
18 * 1. Privileged Code:
\r
19 * Start : 0x08000000
\r
23 * Start : 0x08008000
\r
26 * 3. Unprivileged Code:
\r
27 * Start : 0x08009000
\r
31 define symbol __reigon_ROM_privileged_start__ = __ICFEDIT_region_ROM_start__;
\r
32 define symbol __reigon_ROM_privileged_end__ = 0x08007FFF;
\r
33 define symbol __reigon_ROM_system_calls_start__ = 0x08008000;
\r
34 define symbol __reigon_ROM_system_calls_end__ = 0x08008FFF;
\r
35 define symbol __reigon_ROM_unprivileged_start__ = 0x08009000;
\r
36 define symbol __reigon_ROM_unprivileged_end__ = __ICFEDIT_region_ROM_end__;
\r
39 * 1. Privileged Data:
\r
40 * Start : 0x20000000
\r
43 * 2. Unprivileged Data:
\r
44 * Start : 0x20000400
\r
48 define symbol __region_RAM_privileged_start__ = __ICFEDIT_region_RAM_start__;
\r
49 define symbol __region_RAM_privileged_end__ = 0x200003FF;
\r
50 define symbol __region_RAM_unprivileged_start__ = 0x20000400;
\r
51 define symbol __region_RAM_unprivileged_end__ = __ICFEDIT_region_RAM_end__;
\r
52 define symbol __region_SRAM2_start__ = 0x10000000;
\r
53 define symbol __region_SRAM2_end__ = 0x10007FFF;
\r
55 /* Memory regions. */
\r
56 define memory mem with size = 4G;
\r
57 define region ROM_region_privileged = mem:[from __reigon_ROM_privileged_start__ to __reigon_ROM_privileged_end__];
\r
58 define region ROM_region_system_calls = mem:[from __reigon_ROM_system_calls_start__ to __reigon_ROM_system_calls_end__];
\r
59 define region ROM_region_unprivileged = mem:[from __reigon_ROM_unprivileged_start__ to __reigon_ROM_unprivileged_end__];
\r
60 define region RAM_region_privileged = mem:[from __region_RAM_privileged_start__ to __region_RAM_privileged_end__];
\r
61 define region RAM_region_unprivileged = mem:[from __region_RAM_unprivileged_start__ to __region_RAM_unprivileged_end__];
\r
62 define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__];
\r
64 /* Stack and Heap. */
\r
65 define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
\r
66 define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
\r
68 /* Initialization. */
\r
69 initialize by copy { readwrite };
\r
70 do not initialize { section .noinit };
\r
72 /* Exported symbols. */
\r
73 define exported symbol __FLASH_segment_start__ = __ICFEDIT_region_ROM_start__;
\r
74 define exported symbol __FLASH_segment_end__ = __ICFEDIT_region_ROM_end__;
\r
75 define exported symbol __SRAM_segment_start__ = __ICFEDIT_region_RAM_start__;
\r
76 define exported symbol __SRAM_segment_end__ = __ICFEDIT_region_RAM_end__;
\r
78 define exported symbol __privileged_functions_start__ = __reigon_ROM_privileged_start__;
\r
79 define exported symbol __privileged_functions_end__ = __reigon_ROM_privileged_end__;
\r
80 define exported symbol __privileged_data_start__ = __region_RAM_privileged_start__;
\r
81 define exported symbol __privileged_data_end__ = __region_RAM_privileged_end__;
\r
83 define exported symbol __syscalls_flash_start__ = __reigon_ROM_system_calls_start__;
\r
84 define exported symbol __syscalls_flash_end__ = __reigon_ROM_system_calls_end__;
\r
87 place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
\r
89 place in ROM_region_privileged { readonly section privileged_functions };
\r
90 place in ROM_region_system_calls { readonly section freertos_system_calls };
\r
91 place in ROM_region_unprivileged { readonly };
\r
93 place in RAM_region_privileged { readwrite section privileged_data };
\r
94 place in RAM_region_unprivileged { readwrite,
\r
95 block CSTACK, block HEAP };
\r
96 place in SRAM2_region { };
\r