5.1.1. 스캐터 로딩에 대해 정의된 심볼

링커가 스캐터 로딩 설명 파일을 사용하여 이미지를 만든 경우 링커는 영역 관련 심볼을 만들 수 있습니다. 이 심볼에 대해서는 영역 관련 심볼에서 설명합니다. 링커는 코드에서 해당 심볼을 참조하는 경우에만 이러한 특별한 심볼을 만듭니다.

정의되지 않은 심볼

기본적으로 다음 심볼은 스캐터 로딩 설명 파일이 사용될 때는 정의되지 않습니다.

  • Image$$RW$$Base

  • Image$$RW$$Limit

  • Image$$RO$$Base

  • Image$$RO$$Limit

  • Image$$ZI$$Base

  • Image$$ZI$$Limit

__user_initial_stackheap()의 기본 구현은 Image$$ZI$$Limit의 값을 사용합니다. 이 심볼은 기본적으로 정의되지 않기 때문에 __user_initial_stackheap()을 다시 구현하고 힙 영역의 시작과 스택 영역 상위의 값을 정의해야 합니다. 그러나 C 라이브러리가 제공하는 대체 구현을 대신 사용하면 __user_initial_stackheap()을 직접 다시 구현하지 않아도 됩니다. 자세한 내용은 스택 및 힙 지정을 참조하십시오.

Note

__user_initial_stackheap()을 다시 구현할 경우 모든 라이브러리 구현이 무시됩니다.

스캐터 로딩 설명 파일을 사용하지만 특별한 영역 이름을 지정하지 않고 __user_initial_stackheap()을 다시 구현하지 않는 경우 라이브러리가 다음과 같은 오류 메시지를 생성합니다.

오류: L6915E: 라이브러리 보고 오류: 스캐터 로드 파일이 힙 또는 스택영역 및 __user_initial_stackheap이 정의되지 않았음을 선언합니다.

자세한 내용은 다음을 설명하는 장을 참조하십시오.

  • 라이브러리 메모리 모델에 대한 자세한 내용은 RealView Compilation Tools 버전 3.0 컴파일러 및 라이브러리 설명서에서 C 및 C++ 라이브러리 생성과 사용에 대한 장을 참조하십시오.

  • RealView Compilation Tools 버전 3.0 개발자 설명서에서 임베디드 소프트웨어를 개발하는 방법에 대한 장을 참조하십시오.

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