10.07.2015 Views

PDF version - ARM Information Center

PDF version - ARM Information Center

PDF version - ARM Information Center

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>ARM</strong>과 Thumb의 인터워킹5.1.1 인터워킹을 사용하는 경우Thumb 명령어를 지원하는 <strong>ARM</strong> 프로세서를 위한 코드를 작성할 때는 보통 응용프로그램의 대부분이 Thumb 상태에서 실행되도록 빌드하게 됩니다. 이렇게 하면 코드 밀도를 최소화할 수 있습니다. 8비트 또는 16비트 메모리를 사용하면 성능을 최대화할 수도 있습니다. 그러나 다음과 같은 이유로 응용 프로그램의 일부는 <strong>ARM</strong> 상태에서 실행되도록 하려는 경우도 있습니다.속도기능예외 처리응용 프로그램의 일부 부분에서는 속도가 중요할 수 있습니다. 이러한 섹션은 Thumb 상태보다 <strong>ARM</strong> 상태에서 실행하는 것이 효율적일수 있습니다.일부 시스템에는 작은 크기의 고속 32비트 메모리가 포함되어 있습니다. <strong>ARM</strong> 코드는 8비트나 16비트 메모리에서 각 명령어를 가져오는 오버헤드 없이 이 메모리에서 실행될 수 있습니다.Thumb 명령어는 해당하는 <strong>ARM</strong> 명령어보다 융통성이 적습니다.Thumb 상태에서는 일부 작업을 수행할 수 없습니다. 다음과 같은 작업을 수행하려면 <strong>ARM</strong> 상태로 변경해야 합니다.• CPSR에 액세스하여 인터럽트를 활성화/비활성화하고 모드 변경 (어셈블러 설명서의 4-138페이지의 CPS 참조)• 보조 프로세서에 액세스• C 언어로는 수행할 수 없는 DSP (Digital Signal Processor) 수학 명령어 실행프로세서 예외가 발생하면 프로세서가 자동으로 <strong>ARM</strong> 상태로 전환됩니다. 따라서 예외 처리기의 첫 번째 부분은 <strong>ARM</strong> 명령어로 코딩해야 합니다. 이는 예외 처리기가 Thumb 상태로 다시 전환하여 예외의 주요 처리를 수행하는 경우에도 해당됩니다. 이러한 처리 과정의끝에서는 프로세서를 <strong>ARM</strong> 상태로 전환하여 처리기에서 주 응용 프로그램으로 복귀해야 합니다.독립 실행형 Thumb 프로그램Thumb 명령어를 지원하는 <strong>ARM</strong> 프로세서는 항상 <strong>ARM</strong> 상태에서시작됩니다. 간단한 Thumb 어셈블리 언어 프로그램을 실행하려면Thumb 상태로 변경한 다음 주 Thumb 루틴을 호출하는 <strong>ARM</strong> 헤더를추가합니다. 예제를 보려면 5-8페이지의 어셈블리 언어 인터워킹을참조하십시오.<strong>ARM</strong> DUI 0203IK Copyright © 2002-2008 <strong>ARM</strong> Limited. All rights reserved. 5-3Unrestricted AccessNon-Confidential

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

Saved successfully!

Ooh no, something went wrong!