Цитата(KRS @ Dec 24 2012, 13:13)

У вас там кодовые секции не затерялись? (рам код может быть)
map файл линкер генерит?
Нет RAM-кода нету.
Вот как-то непонятно решилась проблема - если написать так:
define region RAM_region = mem:[from 0x10000000 size 0x4000] | mem:[from 0x2007C000 size 0x4000];
place in RAM_region { rw, first block CSTACK, section .bss, section .FRAM, section .bssStk, block HEAP };то не влазит. По map-у вижу, что он почему-то в первую часть региона пихает больше, чем в она сама есть:
Код
.bss zero 0x10006514 0x1 solve.o [1]
.bss zero 0x10006515 0x1 timeout.o [1]
.bss zero 0x10006516 0x1 timeout.o [1]
.bss zero 0x10006517 0x1 update.o [1]
- 0x10006518 0x6518
Т.е. - почему-то не продолжает .bss который как раз идёт в конце первой части в новую часть, а лепит его в первую часть с переполнением.
Но если описать так:
define region RAM_region = mem:[from 0x10000000 size 0x4000] | mem:[from 0x2007C000 size 0x4000];
place in RAM_region { rw, first section .bss, block CSTACK, section .FRAM, section .bssStk, block HEAP };(.bss переместить в начало региона), то начинает нормально линковать, и .bss переносит на 2-ю часть региона:
Код
.bss zero 0x1000333c 0xc uart.o [1]
.bss zero 0x10003348 0xcc uart.o [1]
.bss zero 0x10003414 0x1 update.o [1]
- 0x10003415 0x759
"P2", part 3 of 3: 0x3338
.bss zero 0x2007c000 0x4 ade.o [1]
.bss zero 0x2007c004 0x4 ade.o [1]
.bss zero 0x2007c008 0x4 ade.o [1]
.bss zero 0x2007c00c 0xa14 comm.o [1]
Чудеса вобщем...