Programming examples, Programming examples -2 – Cirrus Logic EP73xx User Manual

Page 48

Advertising
background image

4-2

EP7309/11/12 User’s Manual - DS508UM4

Copyright Cirrus Logic, Inc. 2003

Interrupt Controller

4

Programming Examples

ENTRY

;

ldr

r15, ResetV

ldr

r15, UndefV

ldr

r15, SWIV

ldr

r15, PAbortV

ldr

r15, DAbortV

ldr

r15, UnusedV

ldr

r15, IRQV

ldr

r15, FIQV

;

;*****************************************************************************

; The following is the actual vector table. It contains the addresses of the routines
; which handle each exception type.

;*****************************************************************************

ResetV

DCD

ResetHandler ; (0x0)

UndefV

DCD

UndefHandler ; (0x4)

SWIV

DCD

SWIHandler ; (0x8)

PAbortV

DCD

PAbortHandler ; (0xc)

DAbortV

DCD

DAbortHandler ; (0x10)

UnusedV

DCD

UnusedHandler ; (0x14)

IRQV

DCD

IRQHandler ; (0x18)

FIQV

DCD

FIQHandler ; (0x1C)

;*****************************************************************************

; IRQHandler routine checks for Timer1 expire interrupt. Sets GPIO PA0-8 low
; Interrupt cleared before return to program.

;*****************************************************************************

IRQHandler

TIMERCHECK

EQU

0x00000100

ldr

r0, =0x80000000 ; base address for interrupt status register

ldr

r1, [r0,#0x240] ; r1 contains timer status from INTSR1

cmp

r1, #TIMERCHECK

0x8000.07C0

COEOI

R/W

---

CODEC EOI

page 4-14

0x8000.1700

KBDEOI

R/W

---

Keyboard EOI

page 4-14

0x8000.1600

SRXEOF

R/W

---

SSI2 FIFO EOI

page 4-14

Table 4-1: Interrupt Registers (Continued)

Address

Name

Type

Size

Description

Page

Advertising