summaryrefslogtreecommitdiff
path: root/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/IAR/stm32h743xx_flash_dtcram.icf
diff options
context:
space:
mode:
Diffstat (limited to 'FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/IAR/stm32h743xx_flash_dtcram.icf')
-rw-r--r--FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/IAR/stm32h743xx_flash_dtcram.icf94
1 files changed, 94 insertions, 0 deletions
diff --git a/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/IAR/stm32h743xx_flash_dtcram.icf b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/IAR/stm32h743xx_flash_dtcram.icf
new file mode 100644
index 000000000..2a692a256
--- /dev/null
+++ b/FreeRTOS/Demo/CORTEX_MPU_M7_NUCLEO_H743ZI2_GCC_IAR_Keil/Projects/IAR/stm32h743xx_flash_dtcram.icf
@@ -0,0 +1,94 @@
+/*###ICF### Section handled by ICF editor, don't touch! ****/
+/*-Editor annotation file-*/
+/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
+/*-Specials-*/
+define symbol __ICFEDIT_intvec_start__ = 0x08000000;
+/*-Memory Regions-*/
+define symbol __ICFEDIT_region_ROM_start__ = 0x08000000;
+define symbol __ICFEDIT_region_ROM_end__ = 0x081FFFFF;
+define symbol __ICFEDIT_region_RAM_start__ = 0x24000000;
+define symbol __ICFEDIT_region_RAM_end__ = 0x2407FFFF;
+define symbol __ICFEDIT_region_ITCMRAM_start__ = 0x00000000;
+define symbol __ICFEDIT_region_ITCMRAM_end__ = 0x0000FFFF;
+/*-Sizes-*/
+define symbol __ICFEDIT_size_cstack__ = 0x400;
+define symbol __ICFEDIT_size_heap__ = 0x200;
+/**** End of ICF editor section. ###ICF###*/
+
+/* Flash Organization [ Total Flash Size = 2048 Kbytes or 2 Mbytes]
+ * 1. Privileged Code:
+ * Start : 0x08000000
+ * End : 0x08007FFF
+ * Size : 32 Kbytes
+ * 2. System calls:
+ * Start : 0x08008000
+ * End : 0x08008FFF
+ * Size : 4 Kbytes
+ * 3. Unprivileged Code:
+ * Start : 0x08009000
+ * End : 0x081FFFFF
+ * Size : 2012 Kbytes
+ */
+define symbol __reigon_ROM_privileged_start__ = __ICFEDIT_region_ROM_start__;
+define symbol __reigon_ROM_privileged_end__ = 0x08007FFF;
+define symbol __reigon_ROM_system_calls_start__ = 0x08008000;
+define symbol __reigon_ROM_system_calls_end__ = 0x08008FFF;
+define symbol __reigon_ROM_unprivileged_start__ = 0x08009000;
+define symbol __reigon_ROM_unprivileged_end__ = __ICFEDIT_region_ROM_end__;
+
+/* RAM Organization [Total RAM Size = 512 Kbytes]
+ * 1. Privileged Data:
+ * Start : 0x24000000
+ * End : 0x24007FFF
+ * Size : 32 Kbytes
+ * 2. Unprivileged Data:
+ * Start : 0x24008000
+ * End : 0x2407FFFF
+ * Size : 480 Kbytes
+ */
+define symbol __region_RAM_privileged_start__ = __ICFEDIT_region_RAM_start__;
+define symbol __region_RAM_privileged_end__ = 0x24007FFF;
+define symbol __region_RAM_unprivileged_start__ = 0x24008000;
+define symbol __region_RAM_unprivileged_end__ = __ICFEDIT_region_RAM_end__;
+
+/* Memory regions. */
+define memory mem with size = 4G;
+define region ROM_region_privileged = mem:[from __reigon_ROM_privileged_start__ to __reigon_ROM_privileged_end__];
+define region ROM_region_system_calls = mem:[from __reigon_ROM_system_calls_start__ to __reigon_ROM_system_calls_end__];
+define region ROM_region_unprivileged = mem:[from __reigon_ROM_unprivileged_start__ to __reigon_ROM_unprivileged_end__];
+define region RAM_region_privileged = mem:[from __region_RAM_privileged_start__ to __region_RAM_privileged_end__];
+define region RAM_region_unprivileged = mem:[from __region_RAM_unprivileged_start__ to __region_RAM_unprivileged_end__];
+define region ITCMRAM_region = mem:[from __ICFEDIT_region_ITCMRAM_start__ to __ICFEDIT_region_ITCMRAM_end__];
+
+/* Stack and Heap. */
+define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
+define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
+
+/* Initialization. */
+initialize by copy { readwrite };
+do not initialize { section .noinit };
+
+/* Exported symbols. */
+define exported symbol __FLASH_segment_start__ = __ICFEDIT_region_ROM_start__;
+define exported symbol __FLASH_segment_end__ = __ICFEDIT_region_ROM_end__;
+define exported symbol __SRAM_segment_start__ = __ICFEDIT_region_RAM_start__;
+define exported symbol __SRAM_segment_end__ = __ICFEDIT_region_RAM_end__;
+
+define exported symbol __privileged_functions_start__ = __reigon_ROM_privileged_start__;
+define exported symbol __privileged_functions_end__ = __reigon_ROM_privileged_end__;
+define exported symbol __privileged_data_start__ = __region_RAM_privileged_start__;
+define exported symbol __privileged_data_end__ = __region_RAM_privileged_end__;
+
+define exported symbol __syscalls_flash_start__ = __reigon_ROM_system_calls_start__;
+define exported symbol __syscalls_flash_end__ = __reigon_ROM_system_calls_end__;
+
+/* Placements. */
+place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
+
+place in ROM_region_privileged { readonly section privileged_functions };
+place in ROM_region_system_calls { readonly section freertos_system_calls };
+place in ROM_region_unprivileged { readonly };
+
+place in RAM_region_privileged { readwrite section privileged_data };
+place in RAM_region_unprivileged { readwrite,
+ block CSTACK, block HEAP };