2014-03-29 4 views
1

additional functionality을 제공하기 위해 Pentax DSLR의 펌웨어를 수정하는 프로젝트를 진행 중입니다. 이 기사에서는 C에서 기존 카메라의 API를 작성/문서화하고 있습니다.기존 바이너리와 연결

ELF 바이너리에 링크되어 있지 않다면이 API를 사용하여 직접 코드를 컴파일 할 수 있습니다.

이 코드를 실행하려면 기존의 베어 메탈 펌웨어와 링크해야합니다. 객체 코드를 기존 바이너리로 복사하고 분기 명령을 수정하여 수동으로 수행하는 프로세스입니다.

기존 GNU 툴 체인을 사용하여 기존 바이너리와 연결하고 수동 프로세스를 자동으로 수행 할 수 있습니까? 나는 다음과 같은 제공 할 필요가 있음을 추측 할 수 있습니다

  • 모든 정의되지 않은 심볼에 대한 기본 주소로
  • 주소를 사용하는 기존의 이진 파일에의 오프셋 (offset)

내가 할 수있는 GNU LD에서 이러한 옵션을 볼 수 없습니다.

a를 기존 이진 파일과 연결할 수 있습니까?

답변

0

AFAIK 바이너리 파일을 다시 링크 할 수 없습니다. 링크는 실제로 바이너리를 만드는 단계이므로 바이너리를 다시 링크하는 것은 불가능합니다. 개체 파일 (어셈블러 제품)을 수집 할 수있는 경우 새 이진 파일을 만들 수 있습니다.

빌드 프로세스에 대한 자세한 내용은 http://www.tenouk.com/ModuleW.html