1/*###ICF### Section handled by ICF editor, don't touch! ****/
2/*-Editor annotation file-*/
3/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_4.xml" */
4/*-Specials-*/
5define symbol __ICFEDIT_intvec_start__ = 0x00000000;
6
7/*-Memory Regions-*/
8define symbol __ICFEDIT_region_IROM1_start__ = 0x00000000;
9define symbol __ICFEDIT_region_IROM1_end__   = 0x000FFFFF;
10define symbol __ICFEDIT_region_IROM2_start__ = 0x0;
11define symbol __ICFEDIT_region_IROM2_end__   = 0x0;
12define symbol __ICFEDIT_region_EROM1_start__ = 0x0;
13define symbol __ICFEDIT_region_EROM1_end__   = 0x0;
14define symbol __ICFEDIT_region_EROM2_start__ = 0x0;
15define symbol __ICFEDIT_region_EROM2_end__   = 0x0;
16define symbol __ICFEDIT_region_EROM3_start__ = 0x0;
17define symbol __ICFEDIT_region_EROM3_end__   = 0x0;
18define symbol __ICFEDIT_region_IRAM1_start__ = 0x20000000;
19define symbol __ICFEDIT_region_IRAM1_end__   = 0x2003FFFF;
20define symbol __ICFEDIT_region_IRAM2_start__ = 0x0;
21define symbol __ICFEDIT_region_IRAM2_end__   = 0x0;
22define symbol __ICFEDIT_region_ERAM1_start__ = 0x0;
23define symbol __ICFEDIT_region_ERAM1_end__   = 0x0;
24define symbol __ICFEDIT_region_ERAM2_start__ = 0x0;
25define symbol __ICFEDIT_region_ERAM2_end__   = 0x0;
26define symbol __ICFEDIT_region_ERAM3_start__ = 0x0;
27define symbol __ICFEDIT_region_ERAM3_end__   = 0x0;
28/*-Sizes-*/
29define symbol __ICFEDIT_size_proc_stack__ = 0x0000;
30define symbol __ICFEDIT_size_cstack__     = 0x1000;
31define symbol __ICFEDIT_size_heap__       = 0x2000;
32/**** End of ICF editor section. ###ICF###*/
33
34define memory mem with size = 4G;
35define region IROM_region   =   mem:[from __ICFEDIT_region_IROM1_start__ to __ICFEDIT_region_IROM1_end__];
36define region EROM_region   =   mem:[from __ICFEDIT_region_EROM1_start__ to __ICFEDIT_region_EROM1_end__]
37                              | mem:[from __ICFEDIT_region_EROM2_start__ to __ICFEDIT_region_EROM2_end__]
38                              | mem:[from __ICFEDIT_region_EROM3_start__ to __ICFEDIT_region_EROM3_end__];
39define region IRAM_region   =   mem:[from __ICFEDIT_region_IRAM1_start__ to __ICFEDIT_region_IRAM1_end__]
40                              | mem:[from __ICFEDIT_region_IRAM2_start__ to __ICFEDIT_region_IRAM2_end__];
41define region ERAM_region   =   mem:[from __ICFEDIT_region_ERAM1_start__ to __ICFEDIT_region_ERAM1_end__]
42                              | mem:[from __ICFEDIT_region_ERAM2_start__ to __ICFEDIT_region_ERAM2_end__]
43                              | mem:[from __ICFEDIT_region_ERAM3_start__ to __ICFEDIT_region_ERAM3_end__];
44
45define block PROC_STACK with alignment = 8, size = __ICFEDIT_size_proc_stack__  { };
46define block CSTACK     with alignment = 8, size = __ICFEDIT_size_cstack__      { };
47define block HEAP       with alignment = 8, size = __ICFEDIT_size_heap__        { };
48
49initialize by copy { readwrite };
50do not initialize  { section .noinit };
51
52place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
53
54place in IROM_region  { readonly };
55place in EROM_region  { readonly section application_specific_ro };
56place in IRAM_region  { readwrite, block CSTACK, block PROC_STACK, block HEAP };
57place in ERAM_region  { readwrite section application_specific_rw };