GD450链接文件
/*###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__ = 0x082FFFFF;
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
define symbol __ICFEDIT_region_RAM_end__ = 0x2002FFFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x2000;
define symbol __ICFEDIT_size_heap__ = 0x2000;
/**** End of ICF editor section. ###ICF###*/
export symbol __ICFEDIT_region_RAM_end__;
define symbol __region_RAM1_start__ = 0x10000000;
define symbol __region_RAM1_end__ = 0x1000FFFF;
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 region RAM1_region = mem:[from __region_RAM1_start__ to __region_RAM1_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 };
keep { section FSymTab };
keep { section VSymTab };
keep { section .rti_fn* };
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
place in ROM_region { readonly };
place in RAM_region { readwrite,
block CSTACK, block HEAP };
place in RAM1_region { section .sram };
ST207链接文件
/*###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__ = 0x08020000;
/*-Memory Regions-*/
define symbol __ICFEDIT_region_ROM_start__ = 0x08020000;
define symbol __ICFEDIT_region_ROM_end__ = 0x0807FFFF;
define symbol __ICFEDIT_region_CSTACK_start__ = 0x20000000;
define symbol __ICFEDIT_region_CSTACK_end__ = 0x20000FFF;
define symbol __ICFEDIT_region_RAM_start__ = 0x20001000;
define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF;
define symbol __ICFEDIT_region_RAM1_start__ = 0x60000000;
define symbol __ICFEDIT_region_RAM1_end__ = 0x60000FFF;
define symbol __ICFEDIT_region_SRAM_start__ = 0x60001000;
define symbol __ICFEDIT_region_SRAM_end__ = 0x60024FFF;
define symbol __ICFEDIT_region_AUDIO_start__ = 0x60025000;
define symbol __ICFEDIT_region_AUDIO_end__ = 0x6006FFFF;
define symbol __ICFEDIT_region_HEAP_start__ = 0x60070000;
define symbol __ICFEDIT_region_HEAP_end__ = 0x60077FFF;
//define symbol __ICFEDIT_region_HEAP_NET_start__ = 0x60078000;
//define symbol __ICFEDIT_region_HEAP_NET_end__ = 0x6007BFFF;
//define symbol __ICFEDIT_region_HEAP_FATS_start__ = 0x6007C000;
//define symbol __ICFEDIT_region_HEAP_FATS_end__ = 0x6007FFFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x800;
define symbol __ICFEDIT_size_heap__ = 0x8000;
define symbol __ICFEDIT_size_heap_net__ = 0x4000;
define symbol __ICFEDIT_size_heap_fats__ = 0x4000;
/**** 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 CSTACK_region = mem:[from __ICFEDIT_region_CSTACK_start__ to __ICFEDIT_region_CSTACK_end__ ];
define region HEAP_region = mem:[from __ICFEDIT_region_HEAP_start__ to __ICFEDIT_region_HEAP_end__ ];
//define region HEAP_NET_region = mem:[from __ICFEDIT_region_HEAP_NET_start__ to __ICFEDIT_region_HEAP_NET_end__ ];
//define region HEAP_FATS_region = mem:[from __ICFEDIT_region_HEAP_FATS_start__ to __ICFEDIT_region_HEAP_FATS_end__ ];
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__ ];
define region SRAM_region = mem:[from __ICFEDIT_region_SRAM_start__ to __ICFEDIT_region_SRAM_end__ ];
define region AUDIO_region = mem:[from __ICFEDIT_region_AUDIO_start__ to __ICFEDIT_region_AUDIO_end__ ];
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
//define block HEAP_NET with alignment = 8, size = __ICFEDIT_size_heap_net__ { };
//define block HEAP_FATS with alignment = 8, size = __ICFEDIT_size_heap_fats__ { };
define block MYCODE { readonly code };
define block MYDATA with fixed order{ readonly data, section .MagicKey };
define block MYSRAM { section .sramdata };
define block MYAUDIO { section .sramaudio };
initialize by copy { readwrite };
initialize by copy { section .sramdata };
initialize by copy { section .sramaudio };
do not initialize { section .noinit };
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
place in ROM_region { block MYCODE, block MYDATA };
place in CSTACK_region { block CSTACK };
place in HEAP_region { block HEAP };
//place in HEAP_NET_region { block HEAP_NET };
//place in HEAP_FATS_region { block HEAP_FATS };
place in RAM_region { readwrite };
place in SRAM_region { block MYSRAM };
place in AUDIO_region { block MYAUDIO };
首次编辑ram跟rom用量:
61 618 bytes of readonly code memory
17 337 bytes of readonly data memory
38 561 bytes of readwrite data memory