5.2.4. 실행 영역 설명

실행 영역에는 다음 구성요소가 있습니다.

Figure 5.7은 일반적인 실행 영역 설명의 구성요소를 보여줍니다.

Figure 5.7. 실행 영역 설명의 구성요소

실행 영역 설명의 구성요소

BNF 구문은 다음과 같습니다.

execution_region_description ::= 

  exec_region_name (base_address | "+" offset) [attribute_list] [max_size | "-" length]
        "{" 
            input_section_description* 
        "}"

다음은 각 요소에 대한 설명입니다.

exec_region_name

실행 영역을 명명합니다.

base_address

영역의 오브젝트가 링크될 주소를 지정합니다. base_address는 워드로 정렬되어야 합니다.

+offset

기본 주소가 선행 실행 영역의 끝을 벗어나는 offset 바이트라고 설명합니다. offset의 값은 4로 나눈 나머지가 0이어야 합니다.

선행 실행 영역이 없는 경우(즉, 로드 영역의 첫 번째 실행 영역인 경우) +offset은 로드 영역을 포함하는 기준 뒤의 offset 바이트로 시작됨을 의미합니다.

+offset 형식이 사용되고 주변 로드 영역에 RELOC 특성이 있으면 실행 영역이 RELOC 특성을 상속합니다. 그러나 고정 base_address가 사용되는 경우 offset의 향후 발생은 RELOC 특성을 상속하지 않습니다.

attribute_list

이것은 실행 영역 내용의 특성을 지정합니다.

ABSOLUTE

절대 주소. 영역의 실행 주소는 기준 지정자가 지정합니다.

PI

위치 독립적

OVERLAY

겹쳐짐

FIXED

고정 주소. 영역의 로드 주소 및 실행 주소는 모두 기준 지정자가 지정합니다.(영역은 루트 영역입니다.) 자세한 내용은 루트 실행 영역 만들기를 참조하십시오. 기준 지정자는 절대 기본 주소 또는 +0의 오프셋이어야 합니다.

EMPTY

실행 영역에서 주어진 길이의 빈 메모리 블록(일반적으로 힙이나 스택이 사용하는)을 보관합니다. 자세한 내용은 빈 영역 예약을 참조하십시오.

PADVALUE

패딩의 값을 정의합니다. PADVALUE를 지정하면 값을 제공해야 합니다. 예를 들면 다음과 같습니다.

EXEC 0x10000 PADVALUE 0xffffffff EMPTY ZEROPAD 0x2000

이것은 0xffffffff로 가득 찬 크기 0x2000의 영역을 만듭니다.

PADVALUE는 크기가 워드여야 합니다. 로드 영역의 PADVALUE 특성은 무시됩니다.

ZEROPAD

0으로 초기화된 섹션은 0으로 채워진 블록으로 ELF 파일에 작성되므로 런타임에 0으로 채워질 필요가 없습니다.

특정 상황에서 예를 들어, 시뮬레이션의 경우, 이것은 0으로 초기화되는 루프에서 긴 시간을 보내는 것이 좋습니다.

NOCOMPRESS

압축하면 안 됩니다.

UNINIT

0으로 초기화되면 안 됩니다.

max_size

영역에 max_size 바이트 이상이 할당된 경우 링커에게 오류를 생성하도록 지시하는 선택적 숫자

–length

길이가 음수 값으로 제공되면 base_address는 영역의 마지막 주소로 지정됩니다. 일반적으로 EMPTY와 함께 사용되어 메모리에서 아래쪽으로 늘어나는 스택을 나타냅니다. 자세한 내용은 빈 영역 예약을 참조하십시오.

input_section_description

입력 섹션의 내용을 지정합니다. 자세한 내용은 입력 섹션 설명을 참조하십시오.

실행 영역의 속성을 지정하는 경우

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