Цитата(alx2 @ Sep 22 2016, 12:17)

Ну вот. Оказывается, файл-то не heap_1.o, а ..\obj\heap_1.o! То есть он не в текущем каталоге, а в ../obj. А в скрипте линкера Вы как этот файл указали?
Наконец-то дошли руки проверить. Сделал, с учетом каталога, после Вашего замечания:
Код
.bss.sdram : {
..\obj\heap_4.o(.bss)
} >SDRAM
Все работает как надо! Спасибо большое!
Правда теперь возникла другая трудность: этот файл используется при компиляции статической библиотеки. При компиляции уже конечного приложения с использованием этой библиотеки, в map-файле этот heap_4 (без переноса его в SDRAM) появляется следующим образом:
Код
.data 0x00000000 0x0 librunTime.a(heap_4.c.obj)
.rodata 0x00000000 0x4 librunTime.a(heap_4.c.obj)
...
.bss 0x200084bc 0x19018 librunTime.a(heap_4.c.obj)
Подскажите, как теперь переместить фрагмент либы в sdram? Пробовал вот так:
Код
.bss.sdram : {
librunTime.a(heap_4.c.obj)(.bss)
} >SDRAM
Выдает ошибку синтаксиса.