2011-05-22 83 views
3

当使用gcc为MCU交叉编译时,您会向链接器提供链接器脚本文件,以便它知道如何创建最终的目标文件。内存映射gcc链接文件,那是什么语法?

我想了解更多关于这种类型的文件,但找不到关于这些文件如何工作,它们使用什么类型的语法,什么是最佳实践以及要避免什么的好教程。

这里将被提供给连接器与“-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 
} 

/感谢

回答