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/