[Top][All Lists]

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

[avr-gcc-list] crosstool-NG

From: Trevor Woerner
Subject: [avr-gcc-list] crosstool-NG
Date: Thu, 3 Mar 2011 14:08:36 -0500


I'm new to this project (avr-gcc) but have been using crosstool-NG for
a while to build the various cross development tools I've needed for
development work on various platforms. I see that CT-NG already has
support for the avr32 tools and thought it would be an interesting
project to add avr-gcc support (hopefully the people on the CT-NG side
will be interested as well).

If CT-NG had the necessary support, building a toolchain for the avr
on Linux (sorry, I don't have experience building outside of Linux)
would simply be a matter of:
1) downloading, building, and installing CT-NG (very small and quick process)
2) moving to a work-area and performing "ct-ng avr-unknown-none"
3) optionally tweaking the configuration with "ct-ng menuconfig"
4) then invoking "ct-ng build" for the build and install

You then add the install location + "/bin" to your $PATH and you're
ready to build.

My apologies if this isn't the case, but it appears to me (being new)
that the avr-gcc landscape is a bit fractured:
1) avr-gcc source from the GCC project
2) Bingo600's scripts + patches from the avrfreaks forum
3) Omar's script + patches from the avrfreaks forum
4) Arduino IDE download
5) WinAVR toolchain (which I believe uses avr-gcc?)
6) AVR Studio (which also uses the avr-gcc tools?)
7) patches from atmel.no

To be honest I'm not even sure which is the one I should be looking
at, they all seem to have their own pros and cons.

The latest versions of the core tools are:
binutils: 2.21
gcc: 4.5.2
avr-libc: 1.7.1

The various build instructions from above target different versions of each.

1) The GCC project (obviously) has the latest version of gcc, but
doesn't include many bugfixes and updates to support newer chips

2) Bingo600's scripts appear to be the best so far (in terms of
including bugfixes and supporting latest chips) but is based on
gcc-4.3.4 and includes older versions of avr-libc and binutils. I have
studied the gcc bugfixes and patches and have determined that of the
group of 14 patches 5 have been fully applied to the latest gcc code,
3 partially, and 6 not at all.

3) Omar's scripts build the latest of everything but (apparently)
don't have some of the bug fixes and support for the latest chips
(i.e. it just uses the gcc-4.5.2 source with small modifications so it
and avr-libc build correctly).

4,5,6,7) I have no idea what state these tools are in but glossing the
avrfreaks forum suggests the support in WinAVR is quite good

I realise, ironically, that I'm proposing yet another fracture. But,
theoretially, if I knew from where to get all the latest patches and
supported all the latest tools then hopefully some of the other
projects might be interested in folding together into this one?
Secondly, CT-NG becomes (I think)  a good place to accumulate all the
various patches. There's no reason why, for example, both Bingo600's
and Omar's patches couldn't both be included in the CT-NG system such
that you could use CT-NG to build either or both of those toolchains.

Are there any existing projects already attempting to do this (perhaps
with a different tool)? Is there any interest? Do I have all my facts

Best regards,

reply via email to

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