Norbert Mayer

I²C - Interrupts gives "Exception vector name: address error"

Discussion created by Norbert Mayer on Jun 15, 2007
Latest reply on Jun 15, 2007 by Mark Butcher
Hello once again with another kind of problem,

I just created my own interrupt to react on i²c.
i did the following.

in File:    vectors.s
Code:
...#define _i2c_handler   i2c_handler....extern _i2c_handler...vector81: .long _i2c_handler

declaration of the interrupt in interrupt_handlers.c
Code:
__interrupt__ voidi2c_handler (void){ extern i2c_next_tx; printf("i2c_handler\n"); if (MCF_I2C_I2SR &= MCF_I2C_I2SR_RXAK)  i2c_next_tx = 0; else  i2c_next_tx = 1;  /* Clear the interrupt event */    MCF_I2C_I2SR &= ~MCF_I2C_I2SR_IIF;}

until here i think it is the same procedure as done with all the other interrupts in the vector table..

while debugging and comparing the registers i see that the iack cycle provides the the right vectornumber in the SWIACK...its #51, but all i get is a notice of codewarrior "Exception vector name: address error" as you can see in the image i attached.
it´s not clear to me, why he jumps to that kind of interrupt and to that address in memory.

i also tried to jump to the interrupt routine via the function "board_handle_interrupt" but this has no effect

maybe you´ll find something?

--
Alban Edit: title changed, too vague


Message Edited by Alban on 2007-06-15 08:35 PM

Outcomes