|
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__ = 0x20020000; |
11 |
| -/*-Sizes-*/ |
12 |
| -define symbol __ICFEDIT_size_cstack__ = 0x400; |
13 |
| -define symbol __ICFEDIT_size_heap__ = 0x200; |
14 |
| -/**** 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__ = 0x080FFFFF; |
15 | 5 |
|
| 6 | +/* [RAM = 128kb = 0x20000] Vector table dynamic copy: 97 vectors = 388 bytes (0x184) to be reserved in RAM */ |
| 7 | +define symbol __NVIC_start__ = 0x20000000; |
| 8 | +define symbol __NVIC_end__ = 0x20000187; /*aligned on 8 bytes */ |
| 9 | +define symbol __region_RAM_start__ = 0x20000188; |
| 10 | +define symbol __region_RAM_end__ = 0x2001FFFF; |
16 | 11 |
|
| 12 | +/* Memory regions */ |
17 | 13 | define memory mem with size = 4G;
|
18 |
| -define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; |
19 |
| -define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; |
| 14 | +define region ROM_region = mem:[from __region_ROM_start__ to __region_ROM_end__]; |
| 15 | +define region RAM_region = mem:[from __region_RAM_start__ to __region_RAM_end__]; |
20 | 16 |
|
21 |
| -define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; |
22 |
| -define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; |
| 17 | +/* Stack and Heap */ |
| 18 | +/*Heap 1/4 of ram and stack 1/8*/ |
| 19 | +define symbol __size_cstack__ = 0x4000; |
| 20 | +define symbol __size_heap__ = 0x8000; |
| 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 }; |
23 | 24 |
|
24 |
| -initialize by copy { readwrite }; |
| 25 | +initialize by copy with packing = zeros { readwrite }; |
25 | 26 | do not initialize { section .noinit };
|
26 | 27 |
|
27 |
| -place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; |
| 28 | +place at address mem:__intvec_start__ { readonly section .intvec }; |
28 | 29 |
|
29 | 30 | place in ROM_region { readonly };
|
30 |
| -place in RAM_region { readwrite, |
31 |
| - block CSTACK, block HEAP }; |
| 31 | +place in RAM_region { readwrite, block STACKHEAP }; |
0 commit comments