RealView® Compilation Tools 링커 사용 설명서

버전 4.0


Table of Contents

서문
설명서 정보
대상 독자
설명서 사용
표기 규칙
추가 정보
사용자 의견
RealView Compilation Tools에 대한 사용자 의견
설명서에 대한 사용자 의견
1. 소개
1.1. ARM 링커 개요
1.1.1. ARM 링커에 대한 입력
1.1.2. ARM 링커의 출력
1.2. 레거시 객체 및 라이브러리와의 호환성
2. ARM 링커 시작
2.1. 모델 연결
2.1.1. 베어 메탈
2.1.2. 부분 연결
2.1.3. BPABI 및 SysV에 공통적으로 적용되는 개념
2.1.4. BPABI
2.1.5. SysV
2.2. 명령 행 옵션 사용
2.2.1. ARM 링커 호출
2.2.2. 명령 행 옵션 순서 지정
2.2.3. 환경 변수를 통한 명령 행 옵션 지정
2.2.4. 파일에서 명령 행 옵션 읽기
3. 기본 링커 기능 사용
3.1. 이미지 구조체 지정
3.1.1. 객체 및 이미지의 구성요소
3.1.2. 이미지의 로드 뷰 및 실행 뷰
3.1.3. 이미지 메모리 맵 지정
3.1.4. 이미지 진입점
3.2. 섹션 배치
3.2.1. 특성별 입력 섹션 정렬
3.2.2. FIRST 및 LAST를 사용하여 섹션 배치
3.2.3. 섹션 정렬
3.2.4. Thumb 코드를 포함하는 실행 영역 정렬
3.3. 섹션 제거
3.3.1. 공통 디버그 섹션 제거
3.3.2. 공통 그룹 또는 섹션 제거
3.3.3. 사용하지 않는 섹션 제거
3.3.4. 사용하지 않는 가상 함수 제거
3.4. 피드백
3.4.1. 예제
3.5. RW 데이터 압축
3.5.1. 압축기 선택
3.5.2. 압축이 적용되는 방식
3.5.3. RW 데이터 압축 작업
3.6. 베니어
3.6.1. 베니어 공유
3.6.2. 베니어 변형
3.6.3. 절대 베니어에 대한 PI
3.6.4. 오버레이 실행 영역과 함께 베니어 재사용
3.7. 인라인
3.7.1. 인라인에 영향을 주는 요소
3.7.2. 마무리 호출 섹션 처리
3.8. 명령 행 옵션을 사용하여 단순 이미지 만들기
3.8.1. 유형 1, 로드 영역 하나와 연속되는 실행 영역
3.8.2. 유형 2, 로드 영역 하나와 연속되지 않는 실행 영역
3.8.3. 유형 3, 로드 영역 두 개와 연속되지 않는 실행 영역
3.9. 명령 행 옵션을 사용하여 C++ 예외 처리
3.10. 이미지에 대한 정보 얻기
3.10.1. 이미지 관련 정보 사용
3.11. 라이브러리 검색, 선택 및 스캔
3.11.1. ARM 라이브러리 검색
3.11.2. 사용자 라이브러리 검색
3.11.3. 라이브러리 스캔
4. 이미지 기호 액세스
4.1. ARM/Thumb 동의어
4.2. 링커 정의 기호 액세스
4.2.1. 영역 관련 기호
4.2.2. 섹션 관련 기호
4.2.3. 링커 정의 기호 가져오기
4.3. 다른 이미지의 기호 액세스
4.3.1. symdefs 파일 만들기
4.3.2. symdefs 파일 읽기
4.3.3. symdefs 파일 형식
4.4. 전역 기호 숨기기 및 이름 바꾸기
4.4.1. 조정 파일 형식
4.5. $Super$$ 및 $Sub$$를 사용하여 기호 정의 재정의
4.6. 기호 버전 관리
4.6.1. 버전
4.6.2. 기본 버전
4.6.3. 버전 관리된 기호 만들기
5. 스캐터 로딩 설명 파일 사용
5.1. 스캐터 로딩 개요
5.1.1. 스캐터 로딩에 대해 정의된 기호
5.1.2. 스캐터 로딩 설명 파일을 통한 스택 및 힙 지정
5.1.3. 스캐터 로딩을 사용하는 경우
5.1.4. 스캐터 로딩 명령 행 옵션
5.1.5. 단순 메모리 맵을 가진 이미지
5.1.6. 복잡한 메모리 맵을 가진 이미지
5.2. 영역 및 섹션 주소 지정의 예제
5.2.1. 스캐터 로딩 설명의 베니어 입력 섹션 선택
5.2.2. 루트 실행 영역 만들기
5.2.3. 오버레이를 사용한 섹션 배치
5.2.4. 루트 영역에 섹션 할당
5.2.5. 빈 영역 예약
5.2.6. ARM 라이브러리 배치
5.2.7. 페이지 경계에 영역 만들기
5.2.8. 사전 처리 지시어 사용
5.3. 단순 이미지에 대한 해당 스캐터 로딩 설명
5.3.1. 유형 1, 로드 영역 하나와 연속되는 실행 영역
5.3.2. 유형 2, 로드 영역 하나와 연속되지 않는 실행 영역
5.3.3. 유형 3, 로드 영역 두 개와 연속되지 않는 실행 영역

소유권 고지 사항

이 소유권 고지 사항의 아래 부분에서 달리 명시되지 않는 한 ® 또는 ™ 표시가 있는 단어와 로고는 EU, 대한민국 및 기타 국가에서 ARM Limited의 등록 상표 또는 상표입니다. 이 설명서에 언급된 기타 브랜드와 이름은 해당 소유자의 상표일 수 있습니다.

이 설명서에 포함된 전체 또는 일부 정보나 설명된 제품은 해당 저작권 소유자의 사전 서면 승인 없이는 어떤 형태로도 개조되거나 복제될 수 없습니다.

이 설명서에 설명된 제품은 지속적으로 개발 및 개선될 수 있습니다. 이 설명서에 포함된 모든 제품 명세와 해당 사용법은 ARM의 신뢰하에 제공됩니다. 그러나 ARM에서는 상품성 또는 특정 목적에의 적합성을 비롯하여 그 밖의 묵시적이거나 명시적인 모든 보증을 부인합니다.

이 설명서는 제품 사용자를 지원하는 용도로만 만들어졌습니다. ARM은 이 설명서 정보의 사용, 정보의 오류나 누락 또는 제품의 잘못된 사용에 따른 어떠한 손실이나 손상도 책임지지 않습니다.

ARM이라는 단어가 사용되는 경우 "ARM이나 해당하는 자회사"를 의미합니다.

기밀 상태

이 설명서는 기밀 문서가 아닙니다. 이 설명서의 사용, 복사 및 공개 권한은 ARM과 설명서 사용 당사자의 동의하에 라이센스 제한을 받습니다.

액세스 제한 없음은 ARM의 내부 분류입니다.

제품 상태

이 설명서의 정보는 개발이 완료된 제품에 대한 최종 정보입니다.

Revision History
Revision A2002년 8월릴리스 1.2
Revision B2003년 1월릴리스 2.0
Revision C2003년 9월ARM® RealView® Developer Suite 릴리스 2.0.1
Revision D2004년 1월RealView Developer Suite용 릴리스 2.1
Revision E2004년 12월RealView Developer Suite용 릴리스 2.2
Revision F2005년 5월RealView Development Suite용 릴리스 2.2 SP1
Revision G2006년 3월RealView Development Suite용 릴리스 3.0
Revision H2007년 3월RealView Development Suite용 릴리스 3.1
Revision I2008년 9월RealView Development Suite용 릴리스 4.0
Copyright © 2002-2008 ARM Limited. All rights reserved.ARM DUI 0206IK
Non-Confidential