]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_MPU_M23_Nuvoton_NuMaker_PFM_M2351_IAR_GCC/Projects/IAR/Secure/FreeRTOSDemo_s.icf
Add Cortex M23 GCC and IAR ports. Add demo projects for Nuvoton NuMaker-PFM-2351.
[freertos] / FreeRTOS / Demo / CORTEX_MPU_M23_Nuvoton_NuMaker_PFM_M2351_IAR_GCC / Projects / IAR / Secure / FreeRTOSDemo_s.icf
1 /*###ICF### Section handled by ICF editor, don't touch! ****/
2 /*-Editor annotation file-*/
3 /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v2_1.xml" */
4
5 /*-Specials-*/
6 define symbol __ICFEDIT_intvec_start__ = 0x00000000;
7
8 /*-Memory Regions-*/
9 define symbol __ICFEDIT_region_IROM1_start__ = 0x00000000;
10 define symbol __ICFEDIT_region_IROM1_end__   = 0x0003FFFF;
11 define symbol __ICFEDIT_region_IROM2_start__ = 0x0;
12 define symbol __ICFEDIT_region_IROM2_end__   = 0x0;
13 define symbol __ICFEDIT_region_EROM1_start__ = 0x0;
14 define symbol __ICFEDIT_region_EROM1_end__   = 0x0;
15 define symbol __ICFEDIT_region_EROM2_start__ = 0x0;
16 define symbol __ICFEDIT_region_EROM2_end__   = 0x0;
17 define symbol __ICFEDIT_region_EROM3_start__ = 0x0;
18 define symbol __ICFEDIT_region_EROM3_end__   = 0x0;
19 define symbol __ICFEDIT_region_IRAM1_start__ = 0x20000000;
20 define symbol __ICFEDIT_region_IRAM1_end__   = 0x20007FFF;
21 define symbol __ICFEDIT_region_IRAM2_start__ = 0x0;
22 define symbol __ICFEDIT_region_IRAM2_end__   = 0x0;
23 define symbol __ICFEDIT_region_ERAM1_start__ = 0x0;
24 define symbol __ICFEDIT_region_ERAM1_end__   = 0x0;
25 define symbol __ICFEDIT_region_ERAM2_start__ = 0x0;
26 define symbol __ICFEDIT_region_ERAM2_end__   = 0x0;
27 define symbol __ICFEDIT_region_ERAM3_start__ = 0x0;
28 define symbol __ICFEDIT_region_ERAM3_end__   = 0x0;
29
30 /*-Sizes-*/
31 define symbol __ICFEDIT_size_cstack__        = 0x800;
32 define symbol __ICFEDIT_size_proc_s_stack__  = 0x0;
33 define symbol __ICFEDIT_size_main_ns_stack__ = 0x0;
34 define symbol __ICFEDIT_size_proc_ns_stack__ = 0x0;
35 define symbol __ICFEDIT_size_heap__          = 0x0;
36
37 /**** End of ICF editor section. ###ICF###*/
38
39 /* Memory Regions. */
40 define memory mem with size = 4G;
41 define region IROM_region   =   mem:[from __ICFEDIT_region_IROM1_start__ to __ICFEDIT_region_IROM1_end__]
42                               | mem:[from __ICFEDIT_region_IROM2_start__ to __ICFEDIT_region_IROM2_end__];
43 define region EROM_region   =   mem:[from __ICFEDIT_region_EROM1_start__ to __ICFEDIT_region_EROM1_end__]
44                               | mem:[from __ICFEDIT_region_EROM2_start__ to __ICFEDIT_region_EROM2_end__]
45                               | mem:[from __ICFEDIT_region_EROM3_start__ to __ICFEDIT_region_EROM3_end__];
46 define region IRAM_region   =   mem:[from __ICFEDIT_region_IRAM1_start__ to __ICFEDIT_region_IRAM1_end__]
47                               | mem:[from __ICFEDIT_region_IRAM2_start__ to __ICFEDIT_region_IRAM2_end__];
48 define region ERAM_region   =   mem:[from __ICFEDIT_region_ERAM1_start__ to __ICFEDIT_region_ERAM1_end__]
49                               | mem:[from __ICFEDIT_region_ERAM2_start__ to __ICFEDIT_region_ERAM2_end__]
50                               | mem:[from __ICFEDIT_region_ERAM3_start__ to __ICFEDIT_region_ERAM3_end__];
51 define region NSC_region    =   mem:[from 0x0003F000 to 0x0003FFFF];
52
53 /* Stack and Heap. */
54 define block CSTACK        with alignment = 8, size = __ICFEDIT_size_cstack__        { };
55 define block PROC_STACK_S  with alignment = 8, size = __ICFEDIT_size_proc_s_stack__  { };
56 define block MAIN_STACK_NS with alignment = 8, size = __ICFEDIT_size_main_ns_stack__ { };
57 define block PROC_STACK_NS with alignment = 8, size = __ICFEDIT_size_proc_ns_stack__ { };
58 define block HEAP          with alignment = 8, size = __ICFEDIT_size_heap__          { };
59
60 /* Initialization. */
61 do not initialize  { section .noinit };
62 initialize by copy { readwrite };
63 if( isdefinedsymbol(__USE_DLIB_PERTHREAD) )
64 {
65     /* Required in a multi-threaded application. */
66     initialize by copy with packing = none { section __DLIB_PERTHREAD };
67 }
68
69 /* Placements. */
70 place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
71
72 place in IROM_region  { readonly };
73 place in EROM_region  { readonly section application_specific_ro };
74 place in NSC_region   { section Veneer$$CMSE };
75
76 place in IRAM_region  { readwrite, block CSTACK, block PROC_STACK_S, block MAIN_STACK_NS, block PROC_STACK_NS, block HEAP };
77 place in ERAM_region  { readwrite section application_specific_rw };