]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_MPU_M23_Nuvoton_NuMaker_PFM_M2351_IAR_GCC/Projects/IAR/NonSecure/FreeRTOSDemo_ns.icf
Update version number in readiness for V10.3.0 release. Sync SVN with reviewed releas...
[freertos] / FreeRTOS / Demo / CORTEX_MPU_M23_Nuvoton_NuMaker_PFM_M2351_IAR_GCC / Projects / IAR / NonSecure / FreeRTOSDemo_ns.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__          = 0x10040000;
7
8 /*-Memory Regions-*/
9 define symbol __ICFEDIT_region_IROM1_start__    = 0x10040000;
10 define symbol __ICFEDIT_region_IROM1_end__      = 0x1007FFFF;
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__    = 0x30008000;
20 define symbol __ICFEDIT_region_IRAM1_end__      = 0x30017FFF;
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 /* Flash Organization
40  *  1. Privileged Code:
41  *      Start   : 0x10040000
42  *      End     : 0x10046FFF
43  *      Size    : 28 Kbytes
44  *  2. System calls:
45  *      Start   : 0x10047000
46  *      End     : 0x10047FFF
47  *      Size    : 4 Kbytes
48  *  3. Unprivileged Code:
49  *      Start   : 0x10048000
50  *      End     : 0x1007FFFF
51  *      Size    : 224 Kbytes
52  */
53 define symbol __region_ROM_Privileged_start__   = 0x10040000;
54 define symbol __region_ROM_Privileged_end__     = 0x10046FFF;
55 define symbol __region_ROM_SystemCalls_start__  = 0x10047000;
56 define symbol __region_ROM_SystemCalls_end__    = 0x10047FFF;
57 define symbol __region_ROM_Unprivileged_start__ = 0x10048000;
58 define symbol __region_ROM_Unprivileged_end__   = 0x1007FFFF;
59
60 /* RAM Organization
61  *  1. Privileged Data:
62  *      Start   : 0x30008000
63  *      End     : 0x30008FFF
64  *      Size    : 4 Kbytes
65  *  2. Unprivileged Data:
66  *      Start   : 0x30009000
67  *      End     : 0x30017FFF
68  *      Size    : 60 Kbytes
69  */
70 define symbol __region_RAM_Privileged_start__   = 0x30008000;
71 define symbol __region_RAM_Privileged_end__     = 0x30008FFF;
72 define symbol __region_RAM_Unprivileged_start__ = 0x30009000;
73 define symbol __region_RAM_Unprivileged_end__   = 0x30017FFF;
74
75 /* Memory Regions. */
76 define memory mem with size = 4G;
77 define region ROM_Privileged_region             = mem:[from __region_ROM_Privileged_start__     to __region_ROM_Privileged_end__];
78 define region ROM_SystemCalls_region            = mem:[from __region_ROM_SystemCalls_start__    to __region_ROM_SystemCalls_end__];
79 define region ROM_Unprivileged_region           = mem:[from __region_ROM_Unprivileged_start__   to __region_ROM_Unprivileged_end__];
80 define region RAM_Privileged_region             = mem:[from __region_RAM_Privileged_start__     to __region_RAM_Privileged_end__];
81 define region RAM_Unprivileged_region           = mem:[from __region_RAM_Unprivileged_start__   to __region_RAM_Unprivileged_end__];
82
83 /* Stack and Heap. */
84 define block CSTACK        with alignment = 8, size = __ICFEDIT_size_cstack__        { };
85 define block PROC_STACK_S  with alignment = 8, size = __ICFEDIT_size_proc_s_stack__  { };
86 define block MAIN_STACK_NS with alignment = 8, size = __ICFEDIT_size_main_ns_stack__ { };
87 define block PROC_STACK_NS with alignment = 8, size = __ICFEDIT_size_proc_ns_stack__ { };
88 define block HEAP          with alignment = 8, size = __ICFEDIT_size_heap__          { };
89
90 /* Initialization. */
91 do not initialize  { section .noinit };
92 initialize by copy { readwrite };
93 if( isdefinedsymbol(__USE_DLIB_PERTHREAD) )
94 {
95     /* Required in a multi-threaded application. */
96     initialize by copy with packing = none { section __DLIB_PERTHREAD };
97 }
98
99 /* Exported symbols. */
100 define exported symbol __privileged_functions_start__   = __region_ROM_Privileged_start__;
101 define exported symbol __privileged_functions_end__     = __region_ROM_Privileged_end__;
102 define exported symbol __syscalls_flash_start__         = __region_ROM_SystemCalls_start__;
103 define exported symbol __syscalls_flash_end__           = __region_ROM_SystemCalls_end__;
104 define exported symbol __unprivileged_flash_start__     = __region_ROM_Unprivileged_start__;
105 define exported symbol __unprivileged_flash_end__       = __region_ROM_Unprivileged_end__;
106 define exported symbol __privileged_sram_start__        = __region_RAM_Privileged_start__;
107 define exported symbol __privileged_sram_end__          = __region_RAM_Privileged_end__;
108
109 /* Placements. */
110 place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
111
112 place in ROM_Privileged_region   { readonly section privileged_functions };
113 place in ROM_SystemCalls_region  { readonly section freertos_system_calls };
114 place in ROM_Unprivileged_region { readonly };
115
116 place in RAM_Privileged_region   { readwrite section privileged_data };
117 place in RAM_Unprivileged_region { readwrite,
118                                    block CSTACK, block PROC_STACK_S, block MAIN_STACK_NS, block PROC_STACK_NS, block HEAP };