blob: 478ea2a5000fafc679b32d284e2fb5a2876cc313 [file] [log] [blame]
/*###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__ = 0x10040000;
/*-Memory Regions-*/
define symbol __ICFEDIT_region_IROM1_start__ = 0x10040000;
define symbol __ICFEDIT_region_IROM1_end__ = 0x1007FFFF;
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__ = 0x30008000;
define symbol __ICFEDIT_region_IRAM1_end__ = 0x30017FFF;
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###*/
/* Flash Organization
* 1. Privileged Code:
* Start : 0x10040000
* End : 0x10046FFF
* Size : 28 Kbytes
* 2. System calls:
* Start : 0x10047000
* End : 0x10047FFF
* Size : 4 Kbytes
* 3. Unprivileged Code:
* Start : 0x10048000
* End : 0x1007FFFF
* Size : 224 Kbytes
*/
define symbol __region_ROM_Privileged_start__ = 0x10040000;
define symbol __region_ROM_Privileged_end__ = 0x10046FFF;
define symbol __region_ROM_SystemCalls_start__ = 0x10047000;
define symbol __region_ROM_SystemCalls_end__ = 0x10047FFF;
define symbol __region_ROM_Unprivileged_start__ = 0x10048000;
define symbol __region_ROM_Unprivileged_end__ = 0x1007FFFF;
/* RAM Organization
* 1. Privileged Data:
* Start : 0x30008000
* End : 0x30008FFF
* Size : 4 Kbytes
* 2. Unprivileged Data:
* Start : 0x30009000
* End : 0x30017FFF
* Size : 60 Kbytes
*/
define symbol __region_RAM_Privileged_start__ = 0x30008000;
define symbol __region_RAM_Privileged_end__ = 0x30008FFF;
define symbol __region_RAM_Unprivileged_start__ = 0x30009000;
define symbol __region_RAM_Unprivileged_end__ = 0x30017FFF;
/* Memory Regions. */
define memory mem with size = 4G;
define region ROM_Privileged_region = mem:[from __region_ROM_Privileged_start__ to __region_ROM_Privileged_end__];
define region ROM_SystemCalls_region = mem:[from __region_ROM_SystemCalls_start__ to __region_ROM_SystemCalls_end__];
define region ROM_Unprivileged_region = mem:[from __region_ROM_Unprivileged_start__ to __region_ROM_Unprivileged_end__];
define region RAM_Privileged_region = mem:[from __region_RAM_Privileged_start__ to __region_RAM_Privileged_end__];
define region RAM_Unprivileged_region = mem:[from __region_RAM_Unprivileged_start__ to __region_RAM_Unprivileged_end__];
/* 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 };
}
/* Exported symbols. */
define exported symbol __privileged_functions_start__ = __region_ROM_Privileged_start__;
define exported symbol __privileged_functions_end__ = __region_ROM_Privileged_end__;
define exported symbol __syscalls_flash_start__ = __region_ROM_SystemCalls_start__;
define exported symbol __syscalls_flash_end__ = __region_ROM_SystemCalls_end__;
define exported symbol __unprivileged_flash_start__ = __region_ROM_Unprivileged_start__;
define exported symbol __unprivileged_flash_end__ = __region_ROM_Unprivileged_end__;
define exported symbol __privileged_sram_start__ = __region_RAM_Privileged_start__;
define exported symbol __privileged_sram_end__ = __region_RAM_Privileged_end__;
/* Placements. */
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
place in ROM_Privileged_region { readonly section privileged_functions };
place in ROM_SystemCalls_region { readonly section freertos_system_calls };
place in ROM_Unprivileged_region { readonly };
place in RAM_Privileged_region { readwrite section privileged_data };
place in RAM_Unprivileged_region { readwrite,
block CSTACK, block PROC_STACK_S, block MAIN_STACK_NS, block PROC_STACK_NS, block HEAP };