1.2.1. armlink

ARM 링커는 하나 이상의 오브젝트 파일의 내용과 하나 이상의 오브젝트 라이브러리의 선택 부분을 결합하여 다음을 생성합니다.

ARM 링커는 링크되어 있는 오브젝트의 빌드 속성에 기초하여, 링크할 적합한 표준 C 또는 C++ 라이브러리 변형을 자동으로 선택합니다.

ARM 링커는 ARM 코드, Thumb® 코드 및 Thumb-2 코드를 링크할 수 있으며 필요한 경우 프로세서 상태를 전환할 수 있는 인터워킹 비니어를 자동으로 생성합니다. 또한 인라인 비니어 또는 긴 분기 비니어를 필요한 위치에 자동으로 생성하여 분기 명령 범위를 확장합니다.

ARM 링커는 시스템 메모리 맵 안의 코드 및 데이터의 위치를 지정할 수 있도록 하는 명령 행 옵션을 지원합니다. 또는 스캐터 로딩 설명 파일을 사용하여 로드 시간 및 실행 시간에 출력 이미지에서 개별 코드 및 데이터 섹션의 메모리 위치를 지정할 수 있습니다. 그러면 여러 메모리에 걸친 복잡한 이미지를 만들 수 있습니다.

ARM 링커는 ROM 크기를 최소화하기 위해 읽기/쓰기 데이터 압축을 지원합니다.

ARM 링커는 다음에 파일이 컴파일될 경우에 미사용 함수에 대해 컴파일러에 알려 주는 피드백을 제공할 수 있습니다. 미사용 함수는 링커에서 나중에 제거할 수 있도록 이후에 컴파일할 때 별도의 섹션에 배치됩니다.

ARM 링커는 공통 섹션 제거 및 미사용 섹션 제거를 수행하여 출력 이미지의 크기를 줄일 수 있습니다. 뿐만 아니라 링커를 사용하여 다음과 같은 작업을 수행할 수 있습니다.

ARM 링커는 미사용 공통 섹션 외에도 공통 그룹 또는 섹션 제거를 수행할 수 있습니다. Comdat(공통의 ELF 이름) 그룹 제거 프로세스에서는 공통 섹션 제거 메커니즘과 동일한 조건을 사용합니다.

ARM 링커는 ELF 형식 출력만 생성합니다. ELF 이미지를 다른 형식(예: ROM으로 로드하는 데 필요한 일반 이진 파일)으로 변환하려면 fromelf를 사용하십시오. 자세한 내용은 fromelf를 참조하십시오.

ARM 링커 및 모든 명령 행 옵션에 대한 자세한 내용은 Chapter 2 링커 명령 구문을 참조하십시오.

Copyright © 2002-2006 ARM Limited. All rights reserved.ARM DUI 0206GK
Non-Confidential