链接现有的二进制文件

时间:2014-03-29 21:49:41

标签: gcc camera ld firmware

我正在开展一个旨在修改Pentax DSLR固件以提供additional functionality的项目。 作为其中的一部分,我正在用C语言编写/记录现有相机的API。

我可以使用这些API编译我自己的代码,前提是它没有链接到ELF二进制文件。

为了运行此代码,我需要将其与现有的裸机固件链接。我通过将目标代码复制到现有二进制文件并修复分支指令来手动执行的过程。

是否可以使用现有的GNU工具链链接到预先存在的二进制文件并自动进行手动过程。 我猜我需要提供以下内容:

  • 现有二进制文件的偏移量,用作基地址
  • 所有未定义符号的地址

我在GNU LD中看不到这些选项。

是否可以将a链接到现有的二进制文件?

1 个答案:

答案 0 :(得分:0)

AFAIK无法重新链接二进制文件。 链接实际上是创建二进制文件的步骤,因此无法重新链接二进制文件。 如果你可以收集对象文件(汇编程序的产品),你可以创建一个新的二进制文件。

有关构建过程的更多信息:http://www.tenouk.com/ModuleW.html