avr-chat
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [avr-chat] GNU toolchain: which releases (especially avr-gcc) to use


From: Joerg Wunsch
Subject: Re: [avr-chat] GNU toolchain: which releases (especially avr-gcc) to use?
Date: Mon, 23 Jan 2006 20:31:37 +0100 (MET)

"devusr.uh (Uwe)" <address@hidden> wrote:

> hit me. As I did some 'RTFM' I came across some postings which told
> about some 'major problems' with using gcc-4.0.x for compiling C
> sources for the AVR microcontrollers. Do this 'problems' really
> exist?

There are probably no major problems with it anymore, but so far, it
appears the generated code with GCC 3.4.x is still a bit better.  That
will change once GCC 4.1.0 will eventually be released (as tests with
GCC snapshots compiled from CVS indicate).

> Most of the installation hints for the toolchain which I found used
> gcc-3.4.3 and avr-libc-1.2.x .

That's probably because they haven't been maintained in a while.

> Which gcc source should be used? 3.4.5 (latest of the 3.4 branch),
> 3.4.3 (for what reason?) or even 4.0.2?

According to my experience, GCC 3.4.5 fixed some optimization
regressions for the AVR that became apparent with earlier 3.4.x
releases (though still, many users report older GCC versions to
produce slightly better code).

> Is it important w/ which gcc the binutils/gcc sources are compiled
> (I used 3.4.1 and 4.0.0)?

No, it isn't.

> VERSION_AVR_LIBC=1.4.0

You could probably upgrade this to 1.4.2 (or 1.4.3 once it's out)
without any hassles.  You'll gain some bugfixes, a reworked example
suite, and support for some new devices -- if you care about the
latter.  But then, for new devices, you have to apply patches to the
stock binutils and GCC sources.

> VERSION_BINUTILS=2.16

2.16.1 is latest, though I have no idea what the differences are.

> VERSION_AVRDUDE=5.0

If you don't mind compiling from CVS, a number of bugfixes went in
there meanwhile.

> Procyon AVRlib=Monday October 24, 2005

I can't comment on AVRlib, I never used it.

> Is there a problem when I mix my code for 1.4.0 with code like the
> Procyon sources (which still use the old signal.h)?

That's something you have to ask the Procyon folks.  From avr-libc's
point of view, they are not ABI-incompatible (otherwise we'de have
called the new version 2.0 instead of 1.4), but you might need to add
at least #include <compat/deprecated.h> for them to compile, unless
you're willing to change everything to the new API.  But then, I hope
the Procyon folks will follow up with an 1.4-ready version some day.
Given there's now an avr-libc version number readily available, it
should even be possible to write source code that is compatible
between the new and old APIs.

-- 
cheers, J"org               .-.-.   --... ...--   -.. .  DL8DTL

http://www.sax.de/~joerg/                        NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]