This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: Building Redboot with ver 3.2.1 of the arm-elf- tools
"Chris Garry" <cgarry at sweeneydesign dot co dot uk> writes:
> > 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.
>
Excellent! It is very gratifying when one's guesses turn out right :-)
When you post the patch remember to include a ChangeLog entry.
--
Nick Garnett eCos Kernel Architect
http://www.ecoscentric.com/ The eCos and RedBoot experts
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss