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.

프로세서 예외 처리예제 코드에 사용되는 요소는 다음과 같습니다.R8IODataR9R10읽을 데이터가 있는 I/O 장치의 기본 주소를 가리킵니다.기본 주소부터 읽으려는 32비트 데이터 레지스터까지의 오프셋입니다. 이 레지스터를 읽으면 인터럽트가 지워집니다.해당 데이터가 전송될 메모리 위치를 가리킵니다.전송할 마지막 주소를 가리킵니다.일반적인 전송을 처리하기 위한 전체 시퀀스에서는 네 개의 명령어를 사용합니다. 조건부 복귀 다음에 배치되는 코드는 전송이 완료되었다는 신호를 보내는 데사용됩니다.예제 6-4 FIQ 처리기LDR R11, [R8, #IOData] ; Load port data from the IO device.STR R11, [R9], #4 ; Store it to memory: update the pointer.CMP R9, R10 ; Reached the end ?SUBLSS pc, lr, #4; No, so return.; Insert transfer complete; code here.로드 명령어를 로드 바이트 명령어로 대체하면 바이트 전송을 수행할 수 있습니다. 로드 명령어와 저장 명령어의 주소 모드를 서로 바꾸면 메모리에서 I/O 장치로의 전송을 수행할 수 있습니다.이중 채널 DMA 전송6-16페이지의 예제 6-5는 처리되는 채널이 두 개라는 점만 제외하고 예제 6-4과비슷합니다. 이 코드는 FIQ 처리기로, 뱅크 FIQ 레지스터를 사용하여 인터럽트간의 상태를 유지합니다. 이 코드는 0x1C 위치에 배치하는 것이 가장 좋습니다.예제 코드에 사용되는 요소는 다음과 같습니다.R8IOStat읽을 데이터가 있는 I/O 장치의 기본 주소를 가리킵니다.기본 주소부터 두 포트 중 인터럽트를 발생시킨 포트를 나타내는 레지스터까지의 오프셋입니다.<strong>ARM</strong> DUI 0203IK Copyright © 2002-2008 <strong>ARM</strong> Limited. All rights reserved. 6-15Unrestricted AccessNon-Confidential

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

Saved successfully!

Ooh no, something went wrong!