gcc 链接器描述文件强制符号位于特定地址

2023-11-22

我有一个关于 gcc 链接器描述文件的非常具体的问题。我有一个嵌入式项目,必须确保主符号或主符号的地址存在于特定地址(Elf 文件)。

原因是,我有一个微控制器,上面有一个引导加载程序。该引导加载程序应在启动后调用主例程。因此,我必须提供启动后跳转到的地址。

有没有办法使用链接器描述文件来强制符号始终位于表的顶部或输入地址,或者我什至可以以某种方式获取符号的地址以将其写回特定位置?

提前谢谢。


当然有办法。您最好的选择是仅使用适合您功能的部分:

int start(void) __attribute__((section(".start")));

int start(void)
{
}

然后在链接描述文件中:

SECTIONS
{
    . = 0x1234; // <---- put here your address
    .start : 
    {
        *(.start)
    }
}

或者类似的东西(我已经很久没有使用它了)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

gcc 链接器描述文件强制符号位于特定地址 的相关文章

随机推荐