| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- /*###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__ = 0x20100000;
- /*-Memory Regions-*/
- define symbol __ICFEDIT_region_ROM_start__ = 0x20100000;
- define symbol __ICFEDIT_region_ROM_end__ = 0x2017FFFF;
- define symbol __ICFEDIT_region_RAM_start__ = 0x20180000;
- define symbol __ICFEDIT_region_RAM_end__ = 0x201FFFFF;
- define symbol __ICFEDIT_region_IRAM_start__ = 0x100000;
- define symbol __ICFEDIT_region_IRAM_end__ = 0x147FFF;
- /*-Sizes-*/
- define symbol __ICFEDIT_size_cstack__ = 0x1000;
- define symbol __ICFEDIT_size_heap__ = 0;
- /**** End of ICF editor section. ###ICF###*/
- /* Flash Organization
- * 1. Privileged Code:
- * Start : 0x20100000
- * End : 0x20107FFF
- * Size : 32 Kbytes
- * 2. System calls:
- * Start : 0x20108000
- * End : 0x20108FFF
- * Size : 4 Kbytes
- * 3. Unprivileged Code:
- * Start : 0x20109000
- * End : 0x2017FFFF
- * Size : 476 Kbytes
- */
- define symbol __reigon_ROM_privileged_start__ = __ICFEDIT_region_ROM_start__;
- define symbol __reigon_ROM_privileged_end__ = 0x20107FFF;
- define symbol __reigon_ROM_system_calls_start__ = 0x20108000;
- define symbol __reigon_ROM_system_calls_end__ = 0x20108FFF;
- define symbol __reigon_ROM_unprivileged_start__ = 0x20109000;
- define symbol __reigon_ROM_unprivileged_end__ = __ICFEDIT_region_ROM_end__;
- /* RAM Organization
- * 1. Privileged Data:
- * Start : 0x20180000
- * End : 0x20183FFF
- * Size : 16 Kbytes
- * 2. Unprivileged Data:
- * Start : 0x20184000
- * End : 0x201FFFFF
- * Size : 496 Kbytes
- */
- define symbol __region_RAM_privileged_start__ = __ICFEDIT_region_RAM_start__;
- define symbol __region_RAM_privileged_end__ = 0x20183FFF;
- define symbol __region_RAM_unprivileged_start__ = 0x20184000;
- define symbol __region_RAM_unprivileged_end__ = __ICFEDIT_region_RAM_end__;
- /* IRAM Organization(totalsize: 288k)
- * 1. Privileged Data:(Sleep without loss)
- * Start : 0x100000
- * End : 0x103FFF
- * Size : 16 Kbytes
- * 2. Critical Func:
- * Start : 0x140000
- * End : 0x147FFF
- * Size : 32 Kbytes
- */
- /*
- define symbol __region_IRAM_swl_privileged_start__ = __ICFEDIT_region_IRAM_start__;
- define symbol __region_IRAM_swl_privileged_end__ = 0x103FFF;
- */
- define symbol __region_IRAM_critical_func_start__ = 0x140000;
- define symbol __region_IRAM_critical_func_end_ = __ICFEDIT_region_IRAM_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 IRAM_region_swl_critical_data = mem:[from __region_IRAM_swl_privileged_start__ to __region_IRAM_swl_privileged_end__];*/
- define region IRAM_region_critical_func = mem:[from __region_IRAM_critical_func_start__ to __region_IRAM_critical_func_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, section critical_functions };
- do not initialize { section .noinit };
- /*do not initialize { section swl_critical_data };*/
- /* 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 __RAM_segment_start__ = __ICFEDIT_region_RAM_start__;
- define exported symbol __RAM_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__;
- /*
- define exported symbol __IRAM__swl_privileged_data_start__ = __region_IRAM_swl_privileged_start__;
- define exported symbol __IRAM__swl_privileged_data_end__ = __region_IRAM_swl_privileged_end__;
- */
- define exported symbol __IRAM__critical_func_start__ = __region_IRAM_critical_func_start__;
- define exported symbol __IRAM__critical_func_end__ = __region_IRAM_critical_func_end_;
- /* Placements. */
- place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
- place at address mem:__ICFEDIT_region_RAM_start__ { section SEC_DDT };
- 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 };
-
- /*place in IRAM_region_swl_critical_data { readwrite section swl_critical_data};*/
- place in IRAM_region_critical_func { readwrite section critical_functions};
-
|