2014-03-29 68 views
1

我正在開發一個旨在修改賓得數碼單反相機的固件以提供additional functionality的項目。 作爲其中的一部分,我正在編寫/記錄現有相機的C語言代碼。我可以使用這些API編譯自己的代碼,只要它不鏈接到ELF二進制文件中即可編譯我自己的代碼。鏈接到現有的二進制文件

爲了讓這段代碼運行,我需要將它與現有的裸機固件相鏈接。我通過將目標代碼複製到現有二進制文件並修復分支指令手動執行的過程。

是否可以使用現有的GNU工具鏈與預先存在的二進制文件進行鏈接並自動進行手動過程。 我可以猜測,我需要提供以下信息:

  • 偏移到現有的二進制文件作爲基礎地址使用
  • 地址爲所有未定義的符號

我可以在GNU LD中看不到這些選項。

是否可以鏈接一個現有的二進制文件?

回答

0

AFAIK無法重新鏈接二進制文件。鏈接實際上是創建二進制文件的步驟,因此不可能重新鏈接二進制文件。 如果您可以收集對象文件(彙編程序的產品),則可以創建一個新的二進制文件。

有關構建過程的更多信息:http://www.tenouk.com/ModuleW.html

相關問題