Peter Geissen


Discussion created by Peter Geissen on Feb 17, 2012
Latest reply on Feb 20, 2012 by TomE

Hi i have a question about the receive buffer interrupt of the mcf5282 evb.


I use the folowing code to initialize the interrupt.


void initialize (void){fnSetIntHandler(92,(unsigned char*)(*INTERRUPTS_ETH_ISR));}static unsigned char *fnSetIntHandler(int iVectNumber, unsigned char *new_handler){    extern unsigned long __VECTOR_RAM[];    unsigned char *old_handler;        old_handler = (unsigned char *)__VECTOR_RAM[iVectNumber];    __VECTOR_RAM[iVectNumber] = (unsigned long)new_handler;        return old_handler;     }int INTERRUPT_ETH0_INIT_CONTROLLER(void){  MCF_INTC0_ICR28 = MCF_INTC_ICR_IL(3); MCF_INTC0_IMRL &= ~(MCF_INTC_IMRL_INT_MASK28 +  MCF_INTC_IMRL_MASKALL);  MCF_FEC_EIMR |= (MCF_FEC_EIMR_RXB); }__declspec(interrupt:0) int INTERRUPTS_ETH_ISR (void){ printf("Receive Interrupt");  }

 The problem is if i use the RXB interrupt it doesnt work. if i use source 23 for receive frame interrupt and change to MCF_FEC_EIMR_RXF, the interrupt works fine. Does any one see what could be the problem ?