Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

Strange data abort problem

2005-10-10 by Joris Hooijberg

Hello all,

While trying to get interrupts to work on a LPC2106 in
Flash we came
along some strange kind of problem.

The code starts up, and starts initializing
interrupts.
In the InitInterrupt() routine we set the functions
the interrupt
vector should point to:

irqVector1 = MyTimerInterrupt;
irqVector0 = DataAbortInterrupt;

We designed the function 'DataAbortInterrupt()' so
that it only prints
the text "Data Abort" on the Hyper Terminal.

The problem is that assigning the interrupt vectors
gives us a "Data
Abort" error on the terminal. The compiler CANT KNOW
where the
irqVector0 is pointing to because DataAbortInterrupt
is assigned after
MyTimerInterrupt.

Can anyone tell us what's happening here? And why doe
we get those anoying Data Aborts at this point... It's
really getting us crazy...

This is how the VIC-handling part of the startup.s
looks:

@@@@@@@@@@@
.section .startup,"ax"
.code 32
.align 0

b start
b irqVector0
b irqVector0
b irqVector0
b irqVector0
b irqVector0
b irqVector1
b irqVector1

@@@@@@@@@@@@@@@@

@ create a variable to hold a C function pointer to be
called on IRQ

.global irqVector0
irqVector0:
.word 0 @ this should be set to a C function

.global irqVector1
irqVector1:
.word 0 @ this should be set to a C function

@@@@@@@@@@@@

Thanks,
Joris and Tiemen


		
__________________________________ 
Yahoo! Music Unlimited 
Access over 1 million songs. Try it free.
http://music.yahoo.com/unlimited/

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.