huangyinke 发表于 2010-8-9 09:21:31

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

我们通过armlink生成 ARM 可执行和链接格式 (ELF) 对象文件, 然后, 再执行elf文件的时候, "加载器" 会根据elf中的信息,把输出段进行重新定位(比如把一些代码, 从Rom中转移到interRAM中,增加程序的执行效率).

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

谢谢!

sunxq 发表于 2010-8-12 20:01:31

elf中包含有重定位信息,当映像作为boot code烧写flash时,重定位信息(一般位于文件头部)没有任何价值,还会影响启动代码的正常运行,fromelf的作用就是把它删除。

这种情况下,启动代码肯定都有一段自己初始化RO和ZI的代码,某些情况下,还会把可执行代码copy到RAM中。
页: [1]
查看完整版本: 困扰好久, 关于ARM工具fromelf 的疑问.