Newer
Older
mbed-os / hal / targets / cmsis / TARGET_NUVOTON / TARGET_NUC472 / TARGET_NUMAKER_PFM_NUC472 / TOOLCHAIN_IAR / NUC472_442.icf
@Russ Butler Russ Butler on 9 Aug 2016 1 KB Decrease NUC472 interrupt stack size
/*###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__ = 0x00000000;
/*-Memory Regions-*/
define symbol __ICFEDIT_region_ROM_start__ = 0x00000000;
define symbol __ICFEDIT_region_ROM_end__   = 0x00080000;
define symbol __ICFEDIT_region_IRAM_start__ = 0x20000000;
define symbol __ICFEDIT_region_IRAM_end__   = 0x20010000;
define symbol __ICFEDIT_region_XRAM_start__ = 0x60000000;
define symbol __ICFEDIT_region_XRAM_end__   = 0x60100000;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x2000;
define symbol __ICFEDIT_size_heap__   = 0xC0000;
/**** End of ICF editor section. ###ICF###*/


define memory mem with size = 4G;
define region ROM_region   = mem:[from __ICFEDIT_region_ROM_start__   to __ICFEDIT_region_ROM_end__];
define region IRAM_region  = mem:[from __ICFEDIT_region_IRAM_start__  to __ICFEDIT_region_IRAM_end__];
define region XRAM_region  = mem:[from __ICFEDIT_region_XRAM_start__  to __ICFEDIT_region_XRAM_end__];

define block CSTACK    with alignment = 8, size = __ICFEDIT_size_cstack__   { };
define block HEAP      with alignment = 8, size = __ICFEDIT_size_heap__     { };
/* NOTE: Vector table base requires to be aligned to the power of vector table size. Give a safe value here. */
define block IRAMVEC   with alignment = 1024, size = 4 * (16 + 142)         { };
/* Move non-critical libraries to external SRAM while internal SRAM is insufficient. */
define block XRAM_NC   with alignment = 8                                   { readwrite object sal-stack-lwip.a };


initialize by copy { readwrite };
do not initialize  { section .noinit };

place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };

place in ROM_region   { readonly };
place at start of IRAM_region   { block CSTACK };
place in IRAM_region   { block IRAMVEC };
place in IRAM_region   { readwrite };
place in XRAM_region   { block XRAM_NC, block HEAP };