[ECOS] Building Redboot with ver 3.2.1 of the arm-elf- tools

Chris Garry cgarry@sweeneydesign.co.uk
Thu Mar 20 10:45:00 GMT 2003


> "Chris Garry" <cgarry@sweeneydesign.co.uk> writes:
> 
> > Building on Win2K PC.  Target E7T.
> > 
> > Building Redboot with Network support using the eCos
> > 2.0 Beta release - redboot only responds to every-other
> > ping - the other half timing out.  This happens even with
> > the latest eCos repository from CVS.
> > 
> > Building Redboot with Network support using my old
> > 1.3.net release tools (using arm-elf- tools V2.95.2), and
> > the latest eCos from CVS.  Redboot responds to every ping
> > correctly.
> > 
> > Using the 1.3.net config tool with the pre-build arm-elf-
> > tools (ver 3.2.1) that come with 2.0 Beta - redboot only
> > responds to half of the pings again.
> > 
> > So it looks like the ver 3.2.1 of the arm-elf- tools are
> > causing the problem.
> > 
> > Are there any known issues with ver 3.2.1?
> > Any suggestions on how I should go about debugging this?
> > 
> 
> What happens if you try using 3.2.1 with optimization turned off? My
> guess is that it will work properly.
> 
> I suspect that the problem is somewhere in the ethernet device driver:
> the more aggressive instruction scheduling in the later compiler
> combined with something not being marked volatile when it should be.
> 
> Turning optimization off for the device driver may be a short term
> fix. To fix it permanently you may need to look at the driver code and
> start scattering volatile's around until it starts working.

You are correct on all counts.

The ks32c5000_ether.c file was missing volatile's from *rxReadPointer,
*txDonePointer and *txWritePointer.  Everything works fine once these
are added.

I will post a patch to ecos-patches later.

--
Chris


-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss



More information about the Ecos-discuss mailing list