On Mon, Jan 17, 2005 at 07:29:09PM +0900, xxchen wrote:
Hi,Andrew
>
>Are you getting interrupts? If not, that is your problem. You need to
>find out which interrupt line the ethernet device is using. Read the
>data sheet for the device.
>
The board is designed by myself. I connected INTR0 of LAN91C111 to IRL0
of
the SH7760 CPU(through a 74AC04 to invert the level). But I don't know
how
to set the interrupt item in the private data structure. When I found
that
the private data of "innovator" platform didn't set interrupt item yet, I
thougnt maybe it could work without an interrupt item set. And further
more
I got the DHCP ip address. If it cannot work without an interrupt, why I
get the DHCP ip address?
Looking forward to your further help.
With most drivers, when you send a packet the driver will also check
if there is a packet waiting to be received. So when DHCP sent the
first packet the DHCP server replied and the ethernet device recieved
the packets. But since you don't have interrupts, the packet just
waited in the buffer. DHCP times out and sent a retry. While sending
the packet the driver checked the receive queue, found the old reply
and passed it to the DHCP code....
You need to take a look at hal_platform_intr.h for your target. Find
the eCos name for the interrupt and use that in setting up the
LAN91C111 driver.
Andrew