ld компоновщик

Компоновщик кода программы на примере Atollic True Studio.

Интереснейшая вещь , т.к. именно в файле ld можно настроить куда в какую паять будет помещен код/данные.

Настройка компоновщика через сценарии в ld файле

Небольшая шпаргалка на будущее по языку сценариев компоновщика ld.

LMA - Load Memory Address

регионы памяти

/* Specify the memory areas */
MEMORY
{
RAM (xrw)      : ORIGIN = 0x20000000, LENGTH = 128K
FLASH (rx)      : ORIGIN = 0x8000000, LENGTH = 128K
APPLICATION (rx)      : ORIGIN = 0x80020000, LENGTH = 896K  
}

APPLICATION это мы добавили второй регион памяти FLASH , что бы вторую часть программы реализовать отдельно.

Выходные секции

SECTIONS 
{   
   outputSectionName  : 
  { 

     contents :  описание входных файлов или секций во входных файлах

   } > тут в какой регион помещаем выходную секцию outputSectionName  (RAM | FLASH |APPLICATION)
} 


Входные секции