|
| 1 | +/*###ICF### Section handled by ICF editor, don't touch! ****/ |
| 2 | +/*-Editor annotation file-*/ |
| 3 | +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\a_v1_0.xml" */ |
| 4 | +/*-Specials-*/ |
| 5 | +define symbol __ICFEDIT_intvec_start__ = 0x18004000; |
| 6 | +/*-Memory Regions-*/ |
| 7 | +define symbol __ICFEDIT_region_ROM_start__ = 0x18000000; |
| 8 | +define symbol __ICFEDIT_region_ROM_end__ = 0x187FFFFF; |
| 9 | +define symbol __ICFEDIT_region_TTB_start__ = 0x20000000; |
| 10 | +define symbol __ICFEDIT_region_TTB_end__ = 0x2001FFFF; |
| 11 | +define symbol __ICFEDIT_region_RAM_start__ = 0x20020000; |
| 12 | +define symbol __ICFEDIT_region_RAM_end__ = 0x209FFFFF; |
| 13 | + |
| 14 | +/*-Sizes-*/ |
| 15 | +define symbol __ICFEDIT_size_cstack__ = 0x00004000; |
| 16 | +define symbol __ICFEDIT_size_svcstack__ = 0x00008000; |
| 17 | +define symbol __ICFEDIT_size_irqstack__ = 0x00008000; |
| 18 | +define symbol __ICFEDIT_size_fiqstack__ = 0x00000100; |
| 19 | +define symbol __ICFEDIT_size_undstack__ = 0x00000100; |
| 20 | +define symbol __ICFEDIT_size_abtstack__ = 0x00000100; |
| 21 | +define symbol __ICFEDIT_size_heap__ = 0x00080000; |
| 22 | +/**** End of ICF editor section. ###ICF###*/ |
| 23 | + |
| 24 | +define symbol __ICFEDIT_region_RetRAM_start__ = 0x20000000; |
| 25 | +define symbol __ICFEDIT_region_RetRAM_end__ = 0x2001FFFF; |
| 26 | + |
| 27 | +define symbol __ICFEDIT_region_MirrorRAM_start__ = 0x60900000; |
| 28 | +define symbol __ICFEDIT_region_MirrorRAM_end__ = 0x609FFFFF; |
| 29 | + |
| 30 | +define symbol __ICFEDIT_region_MirrorRetRAM_start__ = 0x60000000; |
| 31 | +define symbol __ICFEDIT_region_MirrorRetRAM_end__ = 0x6001FFFF; |
| 32 | + |
| 33 | +define memory mem with size = 4G; |
| 34 | + |
| 35 | +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; |
| 36 | +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; |
| 37 | +define region RetRAM_region = mem:[from __ICFEDIT_region_RetRAM_start__ to __ICFEDIT_region_RetRAM_end__]; |
| 38 | +define region MirrorRAM_region = mem:[from __ICFEDIT_region_MirrorRAM_start__ to __ICFEDIT_region_MirrorRAM_end__]; |
| 39 | +define region MirrorRetRAM_region = mem:[from __ICFEDIT_region_MirrorRetRAM_start__ to __ICFEDIT_region_MirrorRetRAM_end__]; |
| 40 | + |
| 41 | +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; |
| 42 | +define block SVC_STACK with alignment = 8, size = __ICFEDIT_size_svcstack__ { }; |
| 43 | +define block IRQ_STACK with alignment = 8, size = __ICFEDIT_size_irqstack__ { }; |
| 44 | +define block FIQ_STACK with alignment = 8, size = __ICFEDIT_size_fiqstack__ { }; |
| 45 | +define block UND_STACK with alignment = 8, size = __ICFEDIT_size_undstack__ { }; |
| 46 | +define block ABT_STACK with alignment = 8, size = __ICFEDIT_size_abtstack__ { }; |
| 47 | +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; |
| 48 | + |
| 49 | +initialize by copy { readwrite }; |
| 50 | +do not initialize { section .noinit }; |
| 51 | +do not initialize { section MMU_TT }; |
| 52 | + |
| 53 | +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; |
| 54 | + |
| 55 | +place in ROM_region { readonly }; |
| 56 | +place in RAM_region { readwrite, |
| 57 | + block CSTACK, block SVC_STACK, block IRQ_STACK, block FIQ_STACK, |
| 58 | + block UND_STACK, block ABT_STACK, block HEAP }; |
| 59 | + |
| 60 | +place in RetRAM_region { section .retram }; |
| 61 | +place in MirrorRAM_region { section .mirrorram }; |
| 62 | +place in MirrorRetRAM_region { section .mirrorretram }; |
0 commit comments