5.3.7. ARM 라이브러리 배치

스캐터 로딩 설명 파일에 ARM 표준 C 및 C++ 라이브러리의 코드를 배치할 수 있습니다. 예를 들면 다음과 같습니다.

ER 0x2000
{
    *c_t__un.l (+RO)
:
}

그러나 이후 릴리스에서 명명 규칙이 변경될 경우 링커가 스캐터 로딩 파일에서 라이브러리 명명을 확인할 수 있도록 *armlib 또는 *armlib*를 대신 사용하는 것이 좋습니다. 예를 들면 다음과 같습니다.

ER 0x2000
{
    *armlib* (+RO) ; all ARM-supplied C libraries
:
}

Example 5.10은 라이브러리 코드 배치 방법을 보여줍니다.

Note

Example 5.10에서는 경로 이름에 정방향 슬래시를 사용하여 Windows, 선 솔라리스 및 레드 햇 리눅스 플랫폼에서 경로 이름이 이해되도록 합니다.

Example 5.10. ARM 라이브러리 코드 배치

ROM1 0
{
    * (InRoot$$Sections)
        * (+RO)
}
ROM2 0x1000
{
    *armlib/h_* (+RO)   ; just the ARM-supplied __ARM_*
                        ; redistributable library functions
}
ROM3 0x2000
{
    *armlib/c_* (+RO)   ; all ARM-supplied C library functions
}
RAM1 0x3000
{
    *armlib* (+RO)      ; all other ARM-supplied library code
                        ; e.g. floating-point libs
}
RAM2 0x4000
{
    * (+RW, +ZI)
}
Copyright © 2002-2006 ARM Limited. All rights reserved.ARM DUI 0206GK
Non-Confidential