/*###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__ = 0x0000F000; /*-Memory Regions-*/ define symbol __ICFEDIT_region_ROM_start__ = 0x0000F000 ; define symbol __ICFEDIT_region_ROM_end__ = 0x000FFFFF; define symbol __ICFEDIT_region_RAM_start__ = 0x1FFF0000; define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFF0; /*-Sizes-*/ define symbol __ICFEDIT_size_cstack__ = 0x00; define symbol __ICFEDIT_size_heap__ = 0; /**** End of ICF editor section. ###ICF###*/ define exported symbol __EXTERNAL_MRAM_ROM_BASE = 0xA0000000; define exported symbol __EXTERNAL_MRAM_ROM_SIZE = 0x00000000; define exported symbol __EXTERNAL_MRAM_RAM_BASE = 0xA0000000; define exported symbol __EXTERNAL_MRAM_RAM_SIZE = 0x00080000; define exported symbol __EXTERNAL_DDR2_RAM_BASE = 0x70000000; define exported symbol __EXTERNAL_DDR2_RAM_SIZE = 0x08000000; define exported symbol __EXTERNAL_LCD_BASE = 0xA0000000; define exported symbol __EXTERNAL_LCD_SIZE = 0x1FFFF; define exported symbol __EXTERNAL_LCD_DC_BASE = 0xA0010000; define exported symbol __INTERNAL_FLASH_BASE = 0x00000000; define exported symbol __INTERNAL_FLASH_SIZE = 0x00100000; define exported symbol __INTERNAL_SRAM_BASE = 0x1FFF0000; define exported symbol __INTERNAL_SRAM_SIZE = 0x00020000; define exported symbol __UNCACHED_DATA_END = 0x2000FFF0; /* The __SRAM_POOL does not exist in fact in the SRAMData target. It should be never referenced ** (runtime check ensures that SRAM pool = system pool) but it can be assigned. The symbol is defined in the vectors.c file. */ define exported symbol __INTERNAL_FLEXNVM_BASE = 0; define exported symbol __INTERNAL_FLEXNVM_SIZE = 0; define exported symbol __VECTOR_TABLE_ROM_START = 0x0000F000; define exported symbol __VECTOR_TABLE_RAM_START = __ICFEDIT_region_RAM_start__; define exported symbol __DEFAULT_PROCESSOR_NUMBER = 1; define exported symbol __DEFAULT_INTERRUPT_STACK_SIZE = 2048; /* mem_init writes a storeblock_struct at the end of kernel data, max size 32 bytes, so use 0x100 offset */ define exported symbol __BOOT_STACK_ADDRESS = __ICFEDIT_region_RAM_end__ - 0x100; define exported symbol __KERNEL_DATA_END = __ICFEDIT_region_RAM_end__; define memory mem with size = 4G; define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; define block KERNEL_DATA with alignment = 8 { section .kernel_data }; define exported symbol __FLASHX_SECT_SIZE = 0x1000; define exported symbol __FLASHX_END_ADDR = __INTERNAL_FLASH_BASE + __INTERNAL_FLASH_SIZE; define block CFMPROTROM with size = 20 { section .cfmconfig }; define block FLASHX_POOL with alignment = __FLASHX_SECT_SIZE { section .flashx }; keep { section .cfmconfig }; keep { section .flashx }; initialize by copy { readwrite }; do not initialize { section .noinit }; do not initialize { section .kernel_data }; do not initialize { section .flashx }; do not initialize { section .cfmconfig }; place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec, block CFMPROTROM }; place in ROM_region { readonly }; place in ROM_region { last block FLASHX_POOL }; place at address mem:__ICFEDIT_region_RAM_start__ { readwrite section .vectors_ram }; /* each block/segment must be in one line (association to region) because I need kernel data start after other datas */ place in RAM_region { readwrite, last block KERNEL_DATA };