使用不同的arm-linux-ld -tText 链接地址,但是编译出来的bin文件一致 20

led.bin:start.omain.oarm-linux-ld-Ttext0x50000000-oled.elf$^arm-linux-objcopy-Obinary... led.bin: start.o main.o
arm-linux-ld -Ttext 0x50000000 -o led.elf $^
arm-linux-objcopy -O binary led.elf led.bin
中间我更改链接地址,发现变化的只是led.elf
led.bin 是不变的,为什么?

我下载的时候是用bin的,那我做这个链接地址不是没有任何意义了吗
展开
 我来答
融火IC
2017-09-21 · TA获得超过522个赞
知道小有建树答主
回答量:412
采纳率:77%
帮助的人:149万
展开全部
bin文件是纯二进制文件,不包含任何里链接地址,符号表等信息,它的执行地址是你烧写bin文件的地址,烧写到哪个地址处就在那里执行;
elf文件的执行地址是在文件编译链接时候确定的,烧写的地址并不是执行的地址,加载器会解析elf文件里记录的执行地址,将其从烧写地址处拷贝到执行地址处执行;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式