| /*###ICF### Section handled by ICF editor, don't touch! ****/ |
| /*-Editor annotation file-*/ |
| /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v2_1.xml" */ |
| |
| /*-Specials-*/ |
| define symbol __ICFEDIT_intvec_start__ = 0x00000000; |
| |
| /*-Memory Regions-*/ |
| define symbol __ICFEDIT_region_IROM1_start__ = 0x00000000; |
| define symbol __ICFEDIT_region_IROM1_end__ = 0x0003FFFF; |
| define symbol __ICFEDIT_region_IROM2_start__ = 0x0; |
| define symbol __ICFEDIT_region_IROM2_end__ = 0x0; |
| define symbol __ICFEDIT_region_EROM1_start__ = 0x0; |
| define symbol __ICFEDIT_region_EROM1_end__ = 0x0; |
| define symbol __ICFEDIT_region_EROM2_start__ = 0x0; |
| define symbol __ICFEDIT_region_EROM2_end__ = 0x0; |
| define symbol __ICFEDIT_region_EROM3_start__ = 0x0; |
| define symbol __ICFEDIT_region_EROM3_end__ = 0x0; |
| define symbol __ICFEDIT_region_IRAM1_start__ = 0x20000000; |
| define symbol __ICFEDIT_region_IRAM1_end__ = 0x20007FFF; |
| define symbol __ICFEDIT_region_IRAM2_start__ = 0x0; |
| define symbol __ICFEDIT_region_IRAM2_end__ = 0x0; |
| define symbol __ICFEDIT_region_ERAM1_start__ = 0x0; |
| define symbol __ICFEDIT_region_ERAM1_end__ = 0x0; |
| define symbol __ICFEDIT_region_ERAM2_start__ = 0x0; |
| define symbol __ICFEDIT_region_ERAM2_end__ = 0x0; |
| define symbol __ICFEDIT_region_ERAM3_start__ = 0x0; |
| define symbol __ICFEDIT_region_ERAM3_end__ = 0x0; |
| |
| /*-Sizes-*/ |
| define symbol __ICFEDIT_size_cstack__ = 0x800; |
| define symbol __ICFEDIT_size_proc_s_stack__ = 0x0; |
| define symbol __ICFEDIT_size_main_ns_stack__ = 0x0; |
| define symbol __ICFEDIT_size_proc_ns_stack__ = 0x0; |
| define symbol __ICFEDIT_size_heap__ = 0x0; |
| |
| /**** End of ICF editor section. ###ICF###*/ |
| |
| /* Memory Regions. */ |
| define memory mem with size = 4G; |
| define region IROM_region = mem:[from __ICFEDIT_region_IROM1_start__ to __ICFEDIT_region_IROM1_end__] |
| | mem:[from __ICFEDIT_region_IROM2_start__ to __ICFEDIT_region_IROM2_end__]; |
| define region EROM_region = mem:[from __ICFEDIT_region_EROM1_start__ to __ICFEDIT_region_EROM1_end__] |
| | mem:[from __ICFEDIT_region_EROM2_start__ to __ICFEDIT_region_EROM2_end__] |
| | mem:[from __ICFEDIT_region_EROM3_start__ to __ICFEDIT_region_EROM3_end__]; |
| define region IRAM_region = mem:[from __ICFEDIT_region_IRAM1_start__ to __ICFEDIT_region_IRAM1_end__] |
| | mem:[from __ICFEDIT_region_IRAM2_start__ to __ICFEDIT_region_IRAM2_end__]; |
| define region ERAM_region = mem:[from __ICFEDIT_region_ERAM1_start__ to __ICFEDIT_region_ERAM1_end__] |
| | mem:[from __ICFEDIT_region_ERAM2_start__ to __ICFEDIT_region_ERAM2_end__] |
| | mem:[from __ICFEDIT_region_ERAM3_start__ to __ICFEDIT_region_ERAM3_end__]; |
| define region NSC_region = mem:[from 0x0003F000 to 0x0003FFFF]; |
| |
| /* Stack and Heap. */ |
| define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; |
| define block PROC_STACK_S with alignment = 8, size = __ICFEDIT_size_proc_s_stack__ { }; |
| define block MAIN_STACK_NS with alignment = 8, size = __ICFEDIT_size_main_ns_stack__ { }; |
| define block PROC_STACK_NS with alignment = 8, size = __ICFEDIT_size_proc_ns_stack__ { }; |
| define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; |
| |
| /* Initialization. */ |
| do not initialize { section .noinit }; |
| initialize by copy { readwrite }; |
| if( isdefinedsymbol(__USE_DLIB_PERTHREAD) ) |
| { |
| /* Required in a multi-threaded application. */ |
| initialize by copy with packing = none { section __DLIB_PERTHREAD }; |
| } |
| |
| /* Placements. */ |
| place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; |
| |
| place in IROM_region { readonly }; |
| place in EROM_region { readonly section application_specific_ro }; |
| place in NSC_region { section Veneer$$CMSE }; |
| |
| place in IRAM_region { readwrite, block CSTACK, block PROC_STACK_S, block MAIN_STACK_NS, block PROC_STACK_NS, block HEAP }; |
| place in ERAM_region { readwrite section application_specific_rw }; |