10.07.2015 Views

PDF version - ARM Information Center

PDF version - ARM Information Center

PDF version - ARM Information Center

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>ARM</strong>과 Thumb의 인터워킹5.1 인터워킹 개요인터워킹을 통해 <strong>ARM</strong> 코드와 Thumb 코드를 함께 사용하여 다음을 수행할 수 있습니다.• <strong>ARM</strong> 루틴에서 Thumb 상태 호출자로 복귀할 수 있습니다.• Thumb 루틴에서 <strong>ARM</strong> 상태 호출자로 복귀할 수 있습니다.즉, 인터워킹용 코드를 컴파일하거나 어셈블하면 코드에서는 사용되는 명령어세트에 관계없이 다른 모듈의 루틴을 호출할 수 있습니다. <strong>ARM</strong> 컴파일러 및<strong>ARM</strong> 어셈블러에서는 모두 --apcs=/interwork 명령 행 옵션을 사용하여 인터워킹을 활성화합니다.<strong>ARM</strong> 및 Thumb용 코드를 원하는 대로 조합하여 컴파일 또는 어셈블할 수 있습니다. 단, 코드는 AAPCS를 준수해야 합니다.install_directory\Documentation\Specifications\...\<strong>PDF</strong>\aapcs.pdf에 있는 사양을참조하십시오.링커가 다음을 감지하는 경우 오류가 생성됩니다.• 호출 수신자 루틴이 인터워킹용으로 빌드되지 않은 직접 <strong>ARM</strong> 또는 Thumb인터워킹 호출• 호환되지 않는 AAPCS 옵션을 사용하는 어셈블리 언어 소스 파일인터워킹 함수를 다른 상태에서 호출하면 <strong>ARM</strong> 링커에서는 이를 감지합니다. 그러면 호출 및 반환 명령어가 변경되며 베니어라는 작은 코드 조각이 삽입되어 필요한 경우 프로세서 상태를 변경합니다. 자세한 내용은 링커 사용 설명서에서3-20페이지의 베니어를 참조하십시오.<strong>ARM</strong> 아키텍처 v5T 이상에서는 추가 명령어를 사용하지 않고도 프로세서 상태를 변경할 수 있는 방법이 제공됩니다. <strong>ARM</strong>v5T 이상 프로세서에서는 인터워킹과 관련된 비용이 거의 들지 않습니다.참고<strong>ARM</strong>v5T 이상 버전용으로 컴파일하면 자동으로 인터워킹이 사용되는 것으로 간주되어 인터워킹에 안전하게 사용할 수 있는 코드가 항상 생성됩니다. 그러나<strong>ARM</strong>v5T용으로 빌드된 어셈블리 코드에는 인터워킹이 포함되지 않으므로 어셈블리 코드를 빌드할 때 --apcs=/interwork 어셈블러 옵션을 사용해야 합니다.5-2 Copyright © 2002-2008 <strong>ARM</strong> Limited. All rights reserved. <strong>ARM</strong> DUI 0203IKNon-ConfidentialUnrestricted Access

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!