| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- /*###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__ = 0x0104000;
- /*-Memory Regions-*/
- define symbol __ICFEDIT_region_ROM_start__ = 0x0104000;
- define symbol __ICFEDIT_region_ROM_end__ = 0x012FFFF;
- define symbol __ICFEDIT_region_RAM_start__ = 0x0130000;
- define symbol __ICFEDIT_region_RAM_end__ = 0x0147FFF;
- define symbol __ICFEDIT_region_SRAM_start__ = 0x20100000;
- define symbol __ICFEDIT_region_SRAM_end__ = 0x2017FFFF;
- /*-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 : 0x104000
- * End : 0x107FFF
- * Size : 16 Kbytes
- * 2. System calls:
- * Start : 0x108000
- * End : 0x108FFF
- * Size : 4 Kbytes
- * 3. Unprivileged Code:
- * Start : 0x109000
- * End : 0x12FFFF
- * Size : 156 Kbytes
- */
- define symbol __reigon_ROM_privileged_start__ = __ICFEDIT_region_ROM_start__;
- define symbol __reigon_ROM_privileged_end__ = 0x107FFF;
- define symbol __reigon_ROM_system_calls_start__ = 0x108000;
- define symbol __reigon_ROM_system_calls_end__ = 0x108FFF;
- define symbol __reigon_ROM_unprivileged_start__ = 0x109000;
- define symbol __reigon_ROM_unprivileged_end__ = __ICFEDIT_region_ROM_end__;
- /* RAM Organization
- * 1. Privileged Data:
- * Start : 0x130000
- * End : 0x137FFF
- * Size : 32 Kbytes
- * 2. Unprivileged Data:
- * Start : 0x138000
- * End : 0x147FFF
- * Size : 64 Kbytes
- */
- define symbol __region_RAM_privileged_start__ = __ICFEDIT_region_RAM_start__;
- define symbol __region_RAM_privileged_end__ = 0x137FFF;
- define symbol __region_RAM_unprivileged_start__ = 0x138000;
- 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 SRAM_region_privileged = mem:[from __ICFEDIT_region_SRAM_start__ to __ICFEDIT_region_SRAM_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 __IRAM_segment_start__ = __ICFEDIT_region_RAM_start__;
- define exported symbol __IRAM_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 __SRAM_segment_start__ = __ICFEDIT_region_SRAM_start__;
- define exported symbol __SRAM_segment_end__ = __ICFEDIT_region_SRAM_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 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 SRAM_region_privileged { readwrite section UC_HEAP};
|