Interrupt Controller
Interrupt ControllerARM 코어에는 FIQ와 IRQ가 각각 하나씩만 존재한다. 하지만 인터럽스 소스들은 여러개가 있기 때문에, 코어 외부에 인터럽트 컨트롤러가 인터럽트 개수를 확장하고 운용한다. 인터럽트 컨트롤러의 역할1. 인터럽트 소스 허용 여부 결정2. 각 인터럽트의 우선순위 결정3. IRQ, FIQ 결정 IRQ 핸들러 설계 예시HandlerIRQ: sub lr, lr, #4 stmfd sp!, {r0-r3, r12, lr} ldr r0, =ICCIAR_CPU0 ldr r1, [r0] ldr r2, 0x3FF and r1, r1, r2 ldr r0, =ISR_Vector ldr r2, [r0, r1, lsl #2] blx r2 ldmfd sp!, {r0,-r3, r12, pc}^ 핸들..
2018. 7. 29.