IAR ICF文件详解Description of ICF file in IAR for STM32

xiaoxiao2021-02-28  46

MCU:STM32F401RET6 BOARD:NUCLEO-F401RE ICF File Path:\STM32Cube_FW_F4_V1.16.0\Drivers\CMSIS\Device\ST\STM32F4xx\Source\Templates\iar\linker

/###ICF### Section handled by ICF editor, don’t touch! ***/ /-Editor annotation file-/ /* IcfEditorFile=” TOOLKITDIR T O O L K I T D I R \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 = 0x0807FFFF; define symbol ICFEDIT_region_RAM_start = 0x20000000; define symbol ICFEDIT_region_RAM_end = 0x20017FFF; /-Sizes-/ define symbol ICFEDIT_size_cstack = 0x400; define symbol ICFEDIT_size_heap = 0x200; /** End of ICF editor section. ###ICF###*/

define memory mem with size = 4G; define region ROM_region = mem:[from ICFEDIT_region_ROM_start to ICFEDIT_region_ROM_end]; define region RAM_region = mem:[from ICFEDIT_region_RAM_start to ICFEDIT_region_RAM_end];

define block CSTACK with alignment = 8, size = ICFEDIT_size_cstack { }; define block HEAP with alignment = 8, size = ICFEDIT_size_heap { };

initialize by copy { readwrite }; do not initialize { section .noinit };

place at address mem:ICFEDIT_intvec_start { readonly section .intvec };

place in ROM_region { readonly }; place in RAM_region { readwrite, block CSTACK, block HEAP };

/###ICF### Section handled by ICF editor, don’t touch! ***/ /-Editor annotation file-/ /* IcfEditorFile=” TOOLKITDIR T O O L K I T D I R \config\ide\IcfEditor\cortex_v1_0.xml” */ /-Specials-/ define symbol ICFEDIT_intvec_start = 0x20000000; /-Memory Regions-/ define symbol ICFEDIT_region_ROM_start = 0x20000000; define symbol ICFEDIT_region_ROM_end = 0x2000FFFF; define symbol ICFEDIT_region_RAM_start = 0x20010000; define symbol ICFEDIT_region_RAM_end = 0x20017FFF; /-Sizes-/ define symbol ICFEDIT_size_cstack = 0x400; define symbol ICFEDIT_size_heap = 0x200; /** End of ICF editor section. ###ICF###*/

define memory mem with size = 4G; define region ROM_region = mem:[from ICFEDIT_region_ROM_start to ICFEDIT_region_ROM_end]; define region RAM_region = mem:[from ICFEDIT_region_RAM_start to ICFEDIT_region_RAM_end];

define block CSTACK with alignment = 8, size = ICFEDIT_size_cstack { }; define block HEAP with alignment = 8, size = ICFEDIT_size_heap { };

initialize by copy { readwrite }; do not initialize { section .noinit };

place at address mem:ICFEDIT_intvec_start { readonly section .intvec };

place in ROM_region { readonly }; place in RAM_region { readwrite, block CSTACK, block HEAP };

转载请注明原文地址: https://www.6miu.com/read-2627329.html

最新回复(0)