本人使用gnu工具链生成elf文件,但是不知道如何像armcc一样利用__attribute__((at(adress)))一样给变量定位地址,网上看到说一个是用__attribute__((section("section_name")))配合链接脚本定义自定义段,另一个是直接在链接脚本里对符号定位地址,但是前者并不能正确定位到我想要的地址,而后者是可行的,但不知道会不会对内部可见链接符号产生影响。所以想请教一下如何用后者来分配地址。使用的链接脚本如下:
SECTIONS
{
varName = 0x20000000;
}
以上为利用链接脚本重定位varName; 实际运行可行;
SECTIONS
{
mySection 0x20000000 : {
*(mySection)
}
}
以上为利用链接脚本定义mySection段,然后在全局变量定义时使用__attribute__((section("mySection")))进行重定位
该方法不可行;
本人计算机基础比较差,还请见谅
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
中文文档在这里 https://blog.csdn.net/yyww322/article/details/50827418/
另外觉得link script比scatter file能做的事情多一些,但是比较麻烦
一周热门 更多>