我有一个关于如何使用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而不是在链接描述文件中指定它?
提前感谢您的帮助。
问候,马丁
答案 0 :(得分:0)
嗯,基本上是因为避免任何硬编码值的原因 - 它更容易参数化。
此外,您不必深入研究链接器脚本,因此对于新手来说更容易。
如果你正在寻找一些“主要”原因 - 没有一个。