/*###ICF### Section handled by ICF editor, don't touch! ****/
/*-Editor annotation file-*/
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\a_v1_0.xml" */
/*-Vector table start*/
define symbol __ICFEDIT_vector_start__ = 0x20000000;
/*-Memory Regions-*/
define symbol __ICFEDIT_region_RAM_start__  = 0x20000000;
define symbol __ICFEDIT_region_RAM_end__    = 0x2000BFFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__        = 0x2000;
define symbol __ICFEDIT_size_heap__          = 0x200;
/**** End of ICF editor section. ###ICF###*/

define memory mem with size   = 4G;
define region RAM_region     = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];

/* define block RamVect   with alignment = 8, size = __ICFEDIT_size_vectors__  { }; */
define block CSTACK    with alignment = 8, size = __ICFEDIT_size_cstack__   { };
define block HEAP      with alignment = 8, size = __ICFEDIT_size_heap__     { };

initialize by copy with packing=none { readwrite };
do not initialize  { section .noinit };

place at address mem:__ICFEDIT_vector_start__ { readonly section .intvec };
place in RAM_region          { readonly };
place in RAM_region          { readwrite, block CSTACK, block HEAP };
