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.2.7 인터럽트 처리기이 단원에서는 인터럽트 처리기를 작성하는 방법을 설명합니다.외부 인터럽트 수준<strong>ARM</strong> 프로세서에는 FIQ와 IRQ라는 두 가지 외부 인터럽트 수준이 있으며 이 두인터럽트 수준은 모두 프로세서로 보내지는 수준 인식 활성 LOW 신호입니다. 인터럽트를 받으려면 CPSR의 해당 비활성 비트가 지워져 있어야 합니다.FIQ는 IRQ보다 우선순위가 높으므로 다음과 같은 방식으로 처리됩니다.• 여러 개의 인터럽트가 발생할 경우 FIQ가 먼저 처리됩니다.• FIQ를 처리할 때 IRQ 및 후속 FIQ는 비활성화되므로 FIQ 처리기에서 다시활성화할 때까지는 IRQ 및 후속 FIQ가 처리되지 않습니다. 대개 처리기의끝에 있는 SPSR에서 CPSR을 복원하면 IRQ 및 후속 FIQ가 다시 활성화됩니다.FIQ 벡터는 벡터 테이블의 마지막 엔트리이므로 이 벡터 위치에 직접 FIQ 처리기를 배치하고 해당 주소에서부터 순차적으로 실행할 수 있습니다. 이렇게 하면 분기 및 관련 지연에 대한 요구 사항이 제거되며, 시스템에 캐시가 있는 경우 벡터테이블 및 FIQ 처리기가 모두 캐시 내의 한 블록에 잠깁니다. FIQ는 인터럽트를가능한 한 빠르게 처리하도록 설계되었기 때문에 이 작업은 중요합니다. 다섯 개의 추가 FIQ 모드 뱅크 레지스터를 사용하면 상태를 처리기에 대한 호출 사이에저장하고 실행 속도를 높일 수 있습니다.참고인터럽트 처리기에는 인터럽트의 원인을 제거하는 코드가 포함되어 있어야 합니다.재진입 인터럽트 처리기인터럽트 처리기에서 인터럽트를 활성화하고 서브루틴을 호출한 후 다른 인터럽트가 발생하면 두 번째 IRQ를 받을 때 IRQ 모드 LR에 저장된 서브루틴의 복귀 주소가 손상됩니다. 프로세서는 새 인터럽트에 대해 복귀 주소를 the IRQ mode LR에 자동으로 저장하여 서브루틴 복귀 주소를 덮어쓰기 때문입니다. 그러면 원래 인터럽트의 서브루틴이 복귀하려 할 때 무한 루프가 발생합니다.<strong>ARM</strong> DUI 0203IK Copyright © 2002-2008 <strong>ARM</strong> Limited. All rights reserved. 6-11Unrestricted AccessNon-Confidential

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

Saved successfully!

Ooh no, something went wrong!