С кучей так поступали
Код
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
place in RAM_region { readwrite,
block CSTACK, block HEAP };
Код
#pragma segment="HEAP"
...
u32 size = (u32)__segment_size("HEAP");
void* heap_base_pool = (void *)__segment_begin("HEAP");
С ROM не пробовал, для него, наверное, вручную нужно завести секцию или блок, так как по умолчанию там он никак не именован. А вообще почитай в EWARM_DevelopmentGuide главу "The linker configuration file" 381 стр. там все написано.
Цитата
рождается секция нулевой длины, которая просто выкидывается.
Значит не находит такую секцию, там линкер предупреждение должен выдавать

Хотя вру, секция называется ".rodata"
Сообщение отредактировал shmur - Mar 26 2012, 13:00