Linux X-Loader在config.mk中的起始地址而不是链接描述文件

时间:2014-01-09 14:44:50

标签: linux gcc linker beagleboard

我有一个关于如何使用gcc工具指定代码起始地址的问题。 我uuualy使用链接描述文件来指定我的代码的起始地址:

SECTIONS
{
   .  =  0x10000;
   .text  :  {  *(.text)  }
   .  =  0x8000000;
   .data  :  {  *(.data)  }
   .bss  :  {  *(.bss)  }
}

在分析TI X-Loader(对于beagleboard)时,我看到在x-load.lds中,起始地址被置于0x00000000。正确的起始地址由config.mk文件中的“-Ttext 0x40200800”(RAM)指定为LD选项。

我的问题:为什么在config.mk(LDFLAGS)中使用-Ttext而不是在链接描述文件中指定它?

提前感谢您的帮助。

问候,马丁

1 个答案:

答案 0 :(得分:0)

嗯,基本上是因为避免任何硬编码值的原因 - 它更容易参数化。

此外,您不必深入研究链接器脚本,因此对于新手来说更容易。

如果你正在寻找一些“主要”原因 - 没有一个。