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.

세미호스팅8.3 세미호스팅 작업이 단원에서는 호스트 컴퓨터와 <strong>ARM</strong> 타겟 간의 디버그 I/O 기능을 사용할 수 있도록 하는 세미호스팅 작업에 대해 설명합니다.8.3.1 angel_SWIreason_EnterSVC (0x17)프로세서를 관리자 모드로 설정하고 새 CPSR의 두 인터럽트 마스크 비트를 모두설정하여 모든 인터럽트를 비활성화합니다. RealView ICE 또는 RealMonitor를 사용하면 사용자 스택 포인터 (R13_USR) 가 관리자 모드 스택 포인터 (R13_SVC) 로 복사되고, 현재 CPSR의 I 및 F 비트가 설정되어 일반 및 고속 인터럽트를 비활성화합니다.참고RealView <strong>ARM</strong>ulator ISS를 사용하여 디버그하는 경우에는 다음 사항이 적용됩니다.• R0이 0으로 설정되어, 사용자 모드로 복귀하기 위해 사용할 수 있는 함수가없음을 나타냅니다.• 사용자 모드 스택 포인터는 관리자 모드 스택 포인터로 복사되지 않습니다.시작레지스터 R1은 사용되지 않습니다. CPSR이 사용자 또는 관리자 모드를 지정할 수있습니다.반환종료 시 R0은 사용자 모드로 복귀하기 위해 호출할 함수의 주소를 포함합니다. 함수의 프로토타입은 다음과 같습니다.void ReturnToUSR (void)EnterSVC가 사용자 모드에서 호출되면 이 루틴이 호출자를 사용자 모드로 반환하고 인터럽트 플래그를 복원합니다. 그렇지 않으면 이 루틴의 작업이 정의되지 않은 것입니다.사용자 모드에서 입력하면 사용자 스택 포인터를 복사한 결과로 인해 관리자 모드 스택이 손실됩니다. 사용자 루틴으로 복귀하면 R13_SVC가 관리자 모드 스택 값으로 복원되지만 이 스택은 응용 프로그램에서 사용하면 안 됩니다.8-8 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!