diff options
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.icf | 118 |
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 }; |