gcc файл ссылки для карты памяти, какой это синтаксис? - PullRequest
3 голосов
/ 22 мая 2011

При использовании 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
}  

/ Спасибо

1 Ответ

3 голосов
/ 22 мая 2011

Синтаксис задокументирован в GNU binutils ld Документация - это скорее справочная информация, чем учебное пособие, но есть различные примеры, разбросанные по нему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...