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.

프로세서 예외 처리6.1 프로세서 예외 개요프로그램을 통한 일반적인 실행 흐름 동안에는 주소 공간을 통해 PC (프로그램카운터) 가 순차적으로 늘어나면서 인접 레이블로 분기되거나 서브루틴으로 분기 및 링크됩니다.이러한 일반적인 실행 흐름에 변화가 생기면 프로세서 예외가 발생하여, 프로세서에서 내부 또는 외부 원인으로 인해 생성된 이벤트를 처리할 수 있도록 합니다.이러한 이벤트의 예는 다음과 같습니다.• 외부에서 인터럽트가 생성되는 경우• 프로세서에서 정의되지 않은 명령어를 실행하려고 시도하는 경우• 권한이 필요한 운영 체제 기능에 액세스하려는 경우그림 6-1에서는 예외 처리 프로세스를 보여 줍니다.ApplicationcodeVectortableSave CPU andregister stateException occursHandle theexceptionRestore CPU andregister state그림 6-1 예외 처리예외가 발생하면 제어권이 벡터 테이블이라는 메모리 영역을 통해 전달됩니다.벡터 테이블은 예약된 영역으로, 대개 메모리 맵의 맨 아래에 있습니다. 테이블내에는 하나의 단어가 여러 예외 유형에 각각 할당됩니다. 이 단어에는 분기 명령어 또는 관련 예외 처리기의 주소 (<strong>ARM</strong>v6-M 및 <strong>ARM</strong>v7-M의 경우) 가 포함되어있습니다.프로세서에서 해당하는 명령어 세트를 지원하는 경우 <strong>ARM</strong> 또는 Thumb -2 코드로 예외 처리기를 작성할 수 있습니다. <strong>ARM</strong>v7-M 및 <strong>ARM</strong>v6-M 프로필의 경우에는 프로세서가 벡터 테이블에서 지정된 예외 처리기를 시작합니다. 다른 모든<strong>ARM</strong> 프로세서의 경우에는 최상위 처리기에서 예외를 처리하는 코드로 분기해야 합니다. 상태를 변경해야 하는 경우에는 분기 및 전환 (BX) 을 사용합니다. 자세6-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!