1
- /*###ICF### Section handled by ICF editor, don't touch! ****/
2
- /*-Editor annotation file-*/
3
- /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
4
- /*-Specials-*/
5
- define symbol __ICFEDIT_intvec_start__ = 0x08000000;
6
- /*-Memory Regions-*/
7
- define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
8
- define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF;
9
- define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
10
- define symbol __ICFEDIT_region_RAM_end__ = 0x2003FFFF;
11
- define symbol __ICFEDIT_region_SRAM2_start__ = 0x10000000;
12
- define symbol __ICFEDIT_region_SRAM2_end__ = 0x1000FFFF;
13
-
14
- /*-Sizes-*/
15
- define symbol __ICFEDIT_size_cstack__ = 0x400;
16
- define symbol __ICFEDIT_size_heap__ = 0x200;
17
- /**** End of ICF editor section. ###ICF###*/
1
+ /* [ROM = 1024kb = 0x100000] */
2
+ define symbol __intvec_start__ = 0x08000000;
3
+ define symbol __region_ROM_start__ = 0x08000000;
4
+ define symbol __region_ROM_end__ = 0x08000000 + 0x100000 - 1;
18
5
6
+ /* [RAM = 0x50000] */
7
+ /* Vector table dynamic copy: Total: 107 vectors = 428 bytes (0x1AC) to be reserved in RAM */
8
+ define symbol __NVIC_start__ = 0x20000000;
9
+ define symbol __NVIC_end__ = 0x200001AC; /* Aligned on 8 bytes (428 = 53 x 8) */
10
+ define symbol __region_SRAM1_start__ = 0x20000000;
11
+ define symbol __region_SRAM1_end__ = 0x2004FFFF;
19
12
13
+ /* Memory regions */
20
14
define memory mem with size = 4G;
21
- define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
22
- define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
23
- define region SRAM2_region = mem:[from __ICFEDIT_region_SRAM2_start__ to __ICFEDIT_region_SRAM2_end__];
15
+ define region ROM_region = mem:[from __region_ROM_start__ to __region_ROM_end__];
16
+ define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__];
24
17
25
- define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
26
- define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
18
+ /* Stack 1/8 and Heap 1/4 of RAM */
19
+ define symbol __size_cstack__ = 0x8000;
20
+ define symbol __size_heap__ = 0xa000;
21
+ define block CSTACK with alignment = 8, size = __size_cstack__ { };
22
+ define block HEAP with alignment = 8, size = __size_heap__ { };
23
+ define block STACKHEAP with fixed order { block HEAP, block CSTACK };
27
24
28
- initialize by copy { readwrite };
25
+ initialize by copy with packing = zeros { readwrite };
29
26
do not initialize { section .noinit };
30
27
31
- place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
28
+ place at address mem:__intvec_start__ { readonly section .intvec };
32
29
33
30
place in ROM_region { readonly };
34
- place in RAM_region { readwrite,
35
- block CSTACK, block HEAP };
36
- place in SRAM2_region { };
37
-
31
+ place in SRAM1_region { readwrite, block STACKHEAP };
32
+
0 commit comments