MCF5307C3 NE2000 Network Driver

Chris Xenophontos cxenophontos at
Wed Jun 2 20:33:59 UTC 2004

Thanks Ian,

We verified that we are set up for Autovectoring.  IRQ3 is set to Level 3.
The IMR is somehow set (masked) for IRQ3, and when we examine IPR bit 3, we
see that IRQ3 is indeed pending.  

When I add a line in the app to explicitly unmask IRQ3, the system hangs
right as IRQ3 asserts -  However, it appears to set the VB reg to 0x6C,
which, as I understand is correct(?).  

Also, when I dump memory, the correct ISR address is installed in the RTEMS
vector table.  

I'll post again as I gather more information --


-----Original Message-----
From: Ian Caddy [mailto:ianc at] 
Sent: Tuesday, June 01, 2004 8:56 PM
To: Chris Xenophontos
Cc: rtems-users at
Subject: Re: MCF5307C3 NE2000 Network Driver

Hi Chris,

We haven't worked directly with that board, but we use the 5307 and 
there are a couple of things that you need to check to make sure 
interrupts are working.

I assume that you are talking about an external interrupt, is it setup 
for autovectoring?

Also if you have a BDM, you can check how the IMR is set or cleared (bit 
3 should be cleared) (it must be cleared for the interrupt to work, it 
always gets me, I am used to a bit being set in the IMR to get my 
interrupt, but not in this processor).

You can also check the IPR (interrupt pending register) to see if the 
interrupt is pending (is bit 3 set?).  If it is, it is likely masked in 
the IMR.

Also, you will need to check the value in IRQPAR which sets the IRQ3 to 
either level 3 or level 6 interrupts.  If IRQPAR bit 6 is cleared, then 
it is a level 3 interrupt and the info I gave you above is correct.  If 
it is set, then it is a level 6 interrupt and you must look at different 
bits in the IMR and IPR and the level 6 autovector must be filled in.

I hope this helps.


Ian Caddy

Chris Xenophontos wrote:

> This is going back a few years, but has any further progress has been made
> with D. Fiddes' NE2000/DM9008 network driver for the Coldfire 5307?
> I'm referring to the one at:  
> We have taken the existing sbc5307/network directory, integrated it into a
> BSP (RTEMS 4.6.0) for the MCF5307C3 Development board, built it, etc.
> initialization, (no bootp), we can observe the following:
> -driver attach is successful
> -rtems_interrupt_attach returns successful
> -tx, rx daemons initialize, and wait for events
> -ARP request is seen on the network, with expected mac and Ethernet
> addresses.
> It appears that the ISR (attached to IRQ3) never gets called.
> We've checked IRQ3 with an oscilloscope, which is seen to go low (active),
> sometime after the ARP request, and stays low, meaning that it is still
> masked(?)
> Has any more progress been made on this network driver?  Any help would be
> greatly appreciated.
> Thanks
> Chris Xenophontos
> cxenophontos at

More information about the users mailing list