При использовании gcc для кросс-компиляции для MCU вы предоставляете компоновщику файл сценария компоновщика, чтобы он знал, как создать конечный объектный файл.
Я хотел бы узнать больше об этом типе файла, но не могу найти хороший учебник о том, как эти файлы работают, какой синтаксис они используют, каковы лучшие практики и чего следует избегать.
Вот пример урезанного файла ссылок, который быбыть предоставлены компоновщику с опцией "-Tlinkfile.ld":
MEMORY
{
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20k
rom (rx) : ORIGIN = 0x00000000, LENGTH = 128K
}
SECTIONS
{
. = 0x0; /* From 0x00000000 */
.text :
{
*(.nvic_vector) /* Vector table */
*(.text.*) /* Program code */
*(.text) /* Program code */
*(.rodata) /* Read only data */
} >rom
. = 0x20000000; /* From 0x20000000 */
.data :
{
*(.data) /* Data memory */
} >ram AT > rom
.bss :
{
*(.bss) /* Zero-filled run time allocate data memory */
} >ram AT > rom
}
/ Спасибо