Компоновщик кода программы на примере 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)
}
Входные секции