嵌入式爱好者

查看: 7869|回复: 1

困扰好久, 关于ARM工具fromelf 的疑问.

[复制链接]

1

主题

1

帖子

1

积分

扫一扫,手机访问本帖
发表于 2010-8-9 09:21:31 | 显示全部楼层 |阅读模式
我们通过armlink生成 ARM 可执行和链接格式 (ELF) 对象文件, 然后, 再执行elf文件的时候, "加载器" 会根据elf中的信息,把输出段进行重新定位(比如把一些代码, 从Rom中转移到interRAM中,增加程序的执行效率).

但我们一般会使用fromelf工具,把elf文件转化成目标板作原理是怎样的?  这种通过fromelf转换后的2进制, 怎样实现输出段重定位的? 是fromelf来实现的吗?

谢谢!
回复

使用道具 举报

0

主题

0

帖子

24

积分

i.MX6UL通行证i.MX6Q通行证

发表于 2010-8-12 20:01:31 | 显示全部楼层
elf中包含有重定位信息,当映像作为boot code烧写flash时,重定位信息(一般位于文件头部)没有任何价值,还会影响启动代码的正常运行,fromelf的作用就是把它删除。

这种情况下,启动代码肯定都有一段自己初始化RO和ZI的代码,某些情况下,还会把可执行代码copy到RAM中。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-11-15 01:26

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表