summaryrefslogtreecommitdiff
path: root/FreeRTOS/Demo/CORTEX_MPU_M23_Nuvoton_NuMaker_PFM_M2351_IAR_GCC/Projects_NTZ/IAR/FreeRTOSDemo.icf
diff options
context:
space:
mode:
Diffstat (limited to 'FreeRTOS/Demo/CORTEX_MPU_M23_Nuvoton_NuMaker_PFM_M2351_IAR_GCC/Projects_NTZ/IAR/FreeRTOSDemo.icf')
-rw-r--r--FreeRTOS/Demo/CORTEX_MPU_M23_Nuvoton_NuMaker_PFM_M2351_IAR_GCC/Projects_NTZ/IAR/FreeRTOSDemo.icf118
1 files changed, 118 insertions, 0 deletions
diff --git a/FreeRTOS/Demo/CORTEX_MPU_M23_Nuvoton_NuMaker_PFM_M2351_IAR_GCC/Projects_NTZ/IAR/FreeRTOSDemo.icf b/FreeRTOS/Demo/CORTEX_MPU_M23_Nuvoton_NuMaker_PFM_M2351_IAR_GCC/Projects_NTZ/IAR/FreeRTOSDemo.icf
new file mode 100644
index 000000000..8c23e43f4
--- /dev/null
+++ b/FreeRTOS/Demo/CORTEX_MPU_M23_Nuvoton_NuMaker_PFM_M2351_IAR_GCC/Projects_NTZ/IAR/FreeRTOSDemo.icf
@@ -0,0 +1,118 @@
+/*###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__ = 0x00000000;
+
+/*-Memory Regions-*/
+define symbol __ICFEDIT_region_IROM1_start__ = 0x00000000;
+define symbol __ICFEDIT_region_IROM1_end__ = 0x0007FFFF;
+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__ = 0x20000000;
+define symbol __ICFEDIT_region_IRAM1_end__ = 0x20017FFF;
+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 : 0x00000000
+ * End : 0x00006FFF
+ * Size : 28 Kbytes
+ * 2. System calls:
+ * Start : 0x00007000
+ * End : 0x00007FFF
+ * Size : 4 Kbytes
+ * 3. Unprivileged Code:
+ * Start : 0x00008000
+ * End : 0x0007FFFF
+ * Size : 480 Kbytes
+ */
+define symbol __region_ROM_Privileged_start__ = 0x00000000;
+define symbol __region_ROM_Privileged_end__ = 0x00006FFF;
+define symbol __region_ROM_SystemCalls_start__ = 0x00007000;
+define symbol __region_ROM_SystemCalls_end__ = 0x00007FFF;
+define symbol __region_ROM_Unprivileged_start__ = 0x00008000;
+define symbol __region_ROM_Unprivileged_end__ = 0x0007FFFF;
+
+/* RAM Organization
+ * 1. Privileged Data:
+ * Start : 0x20000000
+ * End : 0x20007FFF
+ * Size : 32 Kbytes
+ * 2. Unprivileged Data:
+ * Start : 0x20008000
+ * End : 0x20017FFF
+ * Size : 64 Kbytes
+ */
+define symbol __region_RAM_Privileged_start__ = 0x20000000;
+define symbol __region_RAM_Privileged_end__ = 0x20007FFF;
+define symbol __region_RAM_Unprivileged_start__ = 0x20008000;
+define symbol __region_RAM_Unprivileged_end__ = 0x20017FFF;
+
+/* 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 };