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.

프로세서 예외 처리일반적으로 응용 프로그램은 사용자 모드에서 실행되지만 예외를 처리하려면 권한 모드가 필요합니다. 예외가 발생하면 프로세서 모드가 변경되므로 각 예외 처리기에서 다음과 같은 뱅크 아웃 레지스터의 특정 하위 세트에 액세스할 수 있게됩니다.• 해당하는 SP (스택 포인터)• 해당하는 LR• 해당하는 SPSR• 5개의 추가 범용 레지스터 (FIQ에만 해당)각 예외 처리기가 종료되면 다른 레지스터는 원래 내용으로 복원되어야 합니다.이렇게 하려면 처리기에서 사용해야 하는 레지스터의 내용을 해당 스택에 저장하고 복귀 전에 이 레지스터를 복원합니다.시스템 모드링크 레지스터가 손상되면 같은 유형의 예외를 여러 개 처리할 때 문제가 발생할수 있습니다. 자세한 내용은 6-11페이지의 재진입 인터럽트 처리기를 참조하십시오.<strong>ARM</strong>v4 이상 아키텍처에는 시스템 모드라는 권한 모드가 포함되어 있으므로 이문제를 해결할 수 있습니다. 시스템 모드는 사용자 모드와 동일한 레지스터를 공유하고, 권한 액세스를 필요로 하는 작업을 실행할 수 있으며, 예외는 더 이상 링크 레지스터를 덮어쓰지 않습니다.참고시스템 모드는 예외가 발생할 때 전환되지 않습니다. 예외 처리기에서 CPSR을 수정하여 시스템 모드로 전환합니다. 예제를 보려면 6-11페이지의 재진입 인터럽트처리기를 참조하십시오.6.2.4 예외 처리이 단원에서는 예외에 대한 프로세서 응답과 예외가 처리된 후 주 프로그램으로복귀되는 방식을 설명합니다. 예외 처리기에서 예외가 발생할 때 시스템 상태를저장하고 복귀 시 복원하는지 확인해야 합니다.Thumb 상태를 지원하는 프로세서와 Thumb 상태를 지원하지 않는 프로세서는 동일한 기본 예외 처리 메커니즘을 사용합니다. 예외가 발생하면 적절한 벡터 테이블 엔트리에서 다음 명령어를 가져옵니다.<strong>ARM</strong> DUI 0203IK Copyright © 2002-2008 <strong>ARM</strong> Limited. All rights reserved. 6-7Unrestricted AccessNon-Confidential

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

Saved successfully!

Ooh no, something went wrong!