XE8000EV110 Semtech, XE8000EV110 Datasheet - Page 64

EVAL BOARD FOR XE8802AMI035LF

XE8000EV110

Manufacturer Part Number
XE8000EV110
Description
EVAL BOARD FOR XE8802AMI035LF
Manufacturer
Semtech
Type
MCUr
Datasheets

Specifications of XE8000EV110

Contents
Fully Assembled Evaluation Board
For Use With/related Products
XE88LC02MI035
Lead Free Status / RoHS Status
Contains lead / RoHS non-compliant
First of all, the jump addresses are defined at the beginning of the crt0.s file. In our case, all three interrupt levels
jump to the same place (defined by the _interrupt label), but this can be changed if required.
The first thing to do when an interrupt is activated is to save the context. You have to start with saving the contents
of the accumulator, then the flags and finally the internal CPU registers. You will find this part of the code in the
IRQComon_xx.s file.
Next step is to determine which interrupt is activated. In this case, we use the value in the RegIrqPriority register
to determine the highest priority interrupt that was activated. Other ways can be used, especially when the priority
order fixed in the hardware needs to be changed. You will find this part of the code in the IRQComon_xx.s file. In
this example, the labels are used as defined for the XE8802.
© Semtech 2006
########################################################################
## Reset & interrupt vectors
########################################################################
_start:
_interrupt:
########################################################################
## Save all registers and flags
########################################################################
########################################################################
## The following lines enables the adress calculation of the interrupt
## table. Where RegIrqPriority is the addres offset for the table.
## The RegIrqPriority valid values are between 0x00 until 0x017. The
## 0xFF value should never exist.
########################################################################
_interrupttab:
jump
jump
jump
jump
move
calls _interrupttab
add
addc
add
addc
rets
; interrupt table
jump
jump
jump
jump
jump
jump
jump
jump
jump
move
move
sflag
move
move
move
move
move
move
move
move
move
move
move
move
move
main_init
_interrupt
_interrupt
_interrupt
r0,RegIrqPriority
ipl,#0x05
iph,#0x00
ipl,r0
iph,#0x00
ret_int
ret_int
Irq_Pa2
Irq_Pa3
Irq_CntD
Irq_CntB
Irq_Pa6
Irq_Pa7
Irq_Pa0
-(i3), a
a, r0
-(i3), a
-(i3), ipl
-(i3), iph
-(i3), i0l
-(i3), i0h
-(i3), i1l
-(i3), i1h
-(i3), i2l
-(i3), i2h
-(i3), r0
-(i3), r1
-(i3), r2
-(i3), r3
; reset
; IN1
; IN2
; IN0
XE8802 Sensing Machine Data Acquisition MCU
; add the offset, nb instr. before table
; save pc+1 in ip
; propagate carry
; add the offset of the regirqpriority
; propagate carry
; put ip in pc
;
;
;
;
;
;
;
;
;
8-6
RegIrqPriority = 0x00
RegIrqPriority = 0x01
RegIrqPriority = 0x02
RegIrqPriority = 0x03
RegIrqPriority = 0x04
RegIrqPriority = 0x05
RegIrqPriority = 0x06
RegIrqPriority = 0x07
RegIrqPriority = 0x08
with ZoomingADC™ and LCD driver
www.semtech.com

Related parts for XE8000EV110