Цитата(avmsystem @ Dec 17 2009, 14:57)

Продолжаю искать ответ, пока безуспешно.
Вы пытаетесь впихнуть как минимум 0x8000 байт в 0x2000.
Не удивительно, что у вас ничего не выходит.
Для RAM вы отводите 0x2000 байт:
define symbol __ICFEDIT_region_RAM_start__ = 0x40000000;
define symbol __ICFEDIT_region_RAM_end__ = 0x40001FFF;
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
В нее вы хотите положить среди всего прочего блок HEAP:
place in RAM_region { readwrite,
block CSTACK, block SVC_STACK, block IRQ_STACK, block FIQ_STACK,
block UND_STACK, block ABT_STACK, block HEAP };
размером 0x8000 байт:
define symbol __ICFEDIT_size_heap__ = 0x8000;
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
Это не считая CSTACK размером 0x2000.
Так что урезайте аппетиты программы.