/*###ICF### Section handled by ICF editor, don't touch! ****/ /*-Editor annotation file-*/ /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */ /*-Specials-*/ define symbol __ICFEDIT_intvec_start__ = 0x0100000; /*-Memory Regions-*/ define symbol __ICFEDIT_region_ROM_start__ = 0x0100000; define symbol __ICFEDIT_region_ROM_end__ = 0x0101FFF; define symbol __ICFEDIT_region_RAM_start__ = 0x0104000; define symbol __ICFEDIT_region_RAM_end__ = 0x0107FFF; define symbol __ICFEDIT_region_RELOCATE_start__ = 0x00108000; define symbol __ICFEDIT_region_RELOCATE_end__ = 0x0010ffff; /*-Sizes-*/ define symbol __ICFEDIT_size_cstack__ = 0x1000; define symbol __ICFEDIT_size_heap__ = 0; /**** End of ICF editor section. ###ICF###*/ /* Flash Organization * 1. Privileged Code: * Start : 0x100000 * End : 0x1001FF * Size : 512 bytes * 2. Unprivileged Code: * Start : 0x100200 * End : 0x101FFF * Size : 7680 bytes */ define symbol __reigon_ROM_privileged_start__ = __ICFEDIT_region_ROM_start__; define symbol __reigon_ROM_privileged_end__ = 0x10001F; define symbol __reigon_ROM_unprivileged_start__ = 0x100020; define symbol __reigon_ROM_unprivileged_end__ = __ICFEDIT_region_ROM_end__; /* RAM Organization * 1. Privileged Data: * Start : 0x102000 * End : 0x1021FF * Size : 512 bytes * 2. Unprivileged Data: * Start : 0x102200 * End : 0x103FFF * Size : 7680 bytes */ define symbol __region_RAM_privileged_start__ = __ICFEDIT_region_RAM_start__; define symbol __region_RAM_privileged_end__ = 0x1067FF; define symbol __region_RAM_unprivileged_start__ = 0x106800; define symbol __region_RAM_unprivileged_end__ = __ICFEDIT_region_RAM_end__; /* Memory regions. */ define memory mem with size = 4G; define region ROM_region_privileged = mem:[from __reigon_ROM_privileged_start__ to __reigon_ROM_privileged_end__]; define region ROM_region_unprivileged = mem:[from __reigon_ROM_unprivileged_start__ to __reigon_ROM_unprivileged_end__]; define region RAM_region_privileged = mem:[from __region_RAM_privileged_start__ to __region_RAM_privileged_end__]; define region RAM_region_unprivileged = mem:[from __region_RAM_unprivileged_start__ to __region_RAM_unprivileged_end__]; define region RELOCATE_region = mem:[from __ICFEDIT_region_RELOCATE_start__ to __ICFEDIT_region_RELOCATE_end__]; /* Stack and Heap. */ define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; /* Initialization. */ initialize by copy { readwrite, section realocate_functions }; do not initialize { section .noinit }; do not initialize { section privileged_data }; /* Exported symbols. */ define exported symbol __FLASH_segment_start__ = __ICFEDIT_region_ROM_start__; define exported symbol __FLASH_segment_end__ = __ICFEDIT_region_ROM_end__; define exported symbol __IRAM_segment_start__ = __ICFEDIT_region_RAM_start__; define exported symbol __IRAM_segment_end__ = __ICFEDIT_region_RAM_end__; define exported symbol __privileged_functions_start__ = __reigon_ROM_privileged_start__; define exported symbol __privileged_functions_end__ = __reigon_ROM_privileged_end__; define exported symbol __privileged_data_start__ = __region_RAM_privileged_start__; define exported symbol __privileged_data_end__ = __region_RAM_privileged_end__; /* Placements. */ place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region_privileged { readonly section privileged_functions }; place in ROM_region_unprivileged { readonly }; place in RAM_region_privileged { readwrite section privileged_data }; place in RAM_region_unprivileged { readwrite, block CSTACK, block HEAP }; place in RELOCATE_region { readwrite section realocate_functions };