Цитата(SSerge @ May 16 2016, 12:39)

Если прочитать в EWARM_DevelopmentGuide.ENU.pdf раздел "Using symbols, expressions, and numbers":
define [ exported ] symbol name = expr;
и
export symbol name;
то получится.
Вышлю ящик пива тому, кто скомпилит
Код
extern char A;
const char EEPROM[A];
Цитата(jcxz @ May 16 2016, 13:57)

Ложь. Мой проект .icf:
place in FLASH_regionA {block IMAGE_HEAD};
place in FLASH_regionC {section .iapMem};
place in FLASH_regionB {ro};
Прежде чем так утверждать, покажите, что у вас
section .iapMem
участвует в статистике, да еще и как readonly memory
Цитата(jcxz @ May 16 2016, 13:57)

Не знаю кем она у Вас там затирается, но у меня в разных проектах почему-то не затирается.
Хотел бы я так.... Но вот незадача - все переменные, в т.ч. и константы, объявленные вне тела функции, по-умолчанию идут инициализированные в 0x00
define symbol __ICFEDIT_region_ROM_start__ = 0x080000EC;
define symbol __ICFEDIT_region_ROM_end__ = 0x08003FFF;
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
define block NVR with alignment = __NVRAM_page_size__,
size = __NVRAM_page_size__ * __ICFEDIT_region_NVRAM_pages__ { section NVRAM };
"NVRAM" : place at end of ROM_region { block NVR };
---
#pragma location = "NVRAM"
const char NVRAM_PLACE[2048];
*.map:
"NVRAM": 0x800
NVR 0x08003800 0x800 <Block>
NVRAM
const 0x08003800 0x800 drv_NVRAM.o [1]
- 0x08004000 0x800
размер бинарника 16384, в конце нули
---
#pragma location = "NVRAM"
__no_init const char NVRAM_PLACE[2048];
*.map:
"NVRAM": 0x800
NVR 0x08003800 0x800 <Block>
NVRAM
uninit 0x08003800 0x800 drv_NVRAM.o [1]
- 0x08004000 0x800
размер бинарника 16384, в конце нули
---
#pragma location = "NVRAM"
__no_init const char NVRAM_PLACE[2048];
+
*.icf
do not initialize { section NVRAM };
"NVRAM": 0x800
NVR 0x08003800 0x800 <Block>
NVRAM
uninit 0x08003800 0x800 drv_NVRAM.o [1]
- 0x08004000 0x800
размер бинарника равен размеру кода.
но, к слову, во всех 3-х случаях NVRAM_PLACE оказался в статистике в readonly data.
осталось заставить компилятор! выдирать переменные из icf....