Нашел если интересно у себя. Привожу содержимое файла линкера и в конце строчку, которая в коде пишется.
Отправлено
1111 26 октября 2009, г. 14:16
В ответ на:
Ответ: отправлено пользователем
1111 26 октября 2009, г. 10:04
<code>
/*###ICF### Section handled by ICF editor, don't touch! ****/
/*-Editor annotation file-*/
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\a_v1_0.xml" */
/*-Specials-*/
define symbol __ICFEDIT_intvec_start__ = 0x00000000;
/*-Memory Regions-*/
define symbol __ICFEDIT_region_ROM_start__ = 0x00000080;
define symbol __ICFEDIT_region_ROM_end__ = 0x0003FFFF;
define symbol __ICFEDIT_region_RAM_start__ = 0x40000000;
define symbol __ICFEDIT_region_RAM_end__ = 0x40003FFF;
/*-Sizes-*/
define symbol __ICFEDIT_size_cstack__ = 0x0400;
define symbol __ICFEDIT_size_svcstack__ = 0x0100;
define symbol __ICFEDIT_size_irqstack__ = 0x0016;
define symbol __ICFEDIT_size_fiqstack__ = 0x0016;
define symbol __ICFEDIT_size_undstack__ = 0x0016;
define symbol __ICFEDIT_size_abtstack__ = 0x0016;
define symbol __ICFEDIT_size_heap__ = 0x0000;
/**** 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 symbol __region_EXT_RAM_start__ = 0x80000000;
define symbol __region_EXT_RAM_end__ = 0x800FFFFF;
define region EXT_RAM_region= mem:[from __region_EXT_RAM_start__ to __region_EXT_RAM_end__];
define symbol __region_EXT_FLASH_start__ = 0x81000000;
define symbol __region_EXT_FLASH_end__ = 0x817FFFFF;
define region EXT_FLASH_region= mem:[from __region_EXT_FLASH_start__ to __region_EXT_FLASH_end__];
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
define block SVC_STACK with alignment = 8, size = __ICFEDIT_size_svcstack__ { };
define block IRQ_STACK with alignment = 8, size = __ICFEDIT_size_irqstack__ { };
define block FIQ_STACK with alignment = 8, size = __ICFEDIT_size_fiqstack__ { };
define block UND_STACK with alignment = 8, size = __ICFEDIT_size_undstack__ { };
define block ABT_STACK with alignment = 8, size = __ICFEDIT_size_abtstack__ { };
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
initialize by copy { readwrite };
do not initialize { section .noinit };
do not initialize { section EXT_RAM };
do not initialize { section EXT_FLASH };
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
place in ROM_region { readonly };
place in RAM_region { readwrite,
block CSTACK, block SVC_STACK, block IRQ_STACK, block FIQ_STACK,
block UND_STACK, block ABT_STACK, block HEAP };
place in EXT_RAM_region
{ readwrite data section EXT_RAM };
place in EXT_FLASH_region
{ readwrite data section EXT_FLASH };
place at address mem: 0x000001FC
{ readonly section CODE_PROT_SECTION };
В коде писал
#pragma location = "CODE_PROT_SECTION"
__root const u32_t code_protection = 0x87654321;
</code>