This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: cirrus ep93xx - ecos works, network problems
> >
> > We have a custom cirrus ep9307 based board. Cirrus has a software package
> > for their ep93xx-based boards, which contains patches for linux and a
> > redboot-only ecos. Redboot and linux works fine on our board. I have
> > managed to work the basic ecos, but I have trouble with the network.
> >
> > Is there anybody who made the network work, and can help? We would be very
> > thankful for any help.
>
> The normal problem here is that the network device driver for Redboot
> is polled io, where as a full eCos device driver is interrupt
> driven. I suggest you take a look at the device driver and see what it
> actually implements.
The problem is not so theoretical:-) I'm looking and testing and
modifying the driver until yesterday. It seems that someone at cirrus have written
the driver "correctly" because there is a redboot and a real-kernel related
code in it, there is an IT initialised, a NETDEVTAB_ENTRY etc. (but,
strange that the real IT related routines usually in hal/<proc>/src/proc_misc.c
were missing from the patch, but I've added them...) Network ITs are working etc.
The problem where I stopped: There is register in the network related part of the processor,
which is set to 1 to sign that there is a new data filled and ready to send. But when this register
is set to 1 second times the whole board stops working at this line, prints before this line are
appearing but prints after are not. (but these lines are common with the redboot code, so
perhaps these are algorithmically right)
On the other hand the board cannot be ping-ed, end receive events are not comming (but these are
coming under redboot...)
So if somebody has an ideo to try, I would be very grateful.
Ferenc
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss