Go Down

Topic: avr-gcc 4.7.2 (Read 7 times) previous topic - next topic


funlw65

Didn't, thanks for the link. Actually, I'm using Arduino IDE only occasionally. I use Eclipse with avr-gcc 4.7.0 on Linux Debian Testing (not yet 4.7.2 in a linux distribution to my knowledge) and with avr-gcc 4.7.2 (thanks to Georg-Johann Lay ) under Vista. 

westfw

This was my response to a similar message on the developers list, recently:

Quote
I can't speak for the Arduino team, but note that the Arduino IDE does not include "gcc" directly; instead, it's based on the "packaged" development environments (WinAVR for windows, AVR Crosspack for Mac, I think.)  So to go to 4.7, we probably need the following to happen first:

1) Atmel goes to 4.7 for AVR Studio (AVR Studio 6 has 4.6.2, for reasons that aren't clear.)
2) "someone" puts together a WINAVR-like for Windows (non-AVR Studio) (hopefully with the same versions of binutils/avr-libc/gcc as AVR Studio)
3) "someone" puts together a similar package for Mac.
4) The Arduino team changes, tests, and becomes satisfied that the Arduino core works with the new compiler (those named memory spaces may sound good, but I think they're significantly incompatible with the way PROGMEM is currently used in the Arduino core.)

(meanwhile, the linux distributions have been throwing together avr-gcc packages somewhat randomly, and frequently in ways that apparently don't work very well.  Watching the Arduino project has made me appreciate the effort that goes into putting together "tool packages", a lot more than I used to.  Especially since it's not getting done :-( (WINAVR and AVR Crosspack are both quite old.))

Note that many of the intermediate versions between 4.3.2 and 4.7 have "known problems" WRT AVR and/or arduino.  That hasn't helped, either.


Note that the gcc that Atmel is shipping with their AtmelStudio is only at 4.6.something...
One of the changes in 4.7 is "named address spaces" that will, in theory, greatly simply storing constants in program memory.  In reality, it may also break the current Arduino core code that uses <pgmspace.h>

funlw65

#8
Oct 04, 2012, 02:15 am Last Edit: Oct 04, 2012, 02:28 am by funlw65 Reason: 1
Thank you for the info.

1) So, the first move is expected from Atmel... I think that will take a little longer than expected...
2) This has been done. MHTools, but it needs to be updated with Georg-Johann Lay's package.
3) The 4.7.2 version is fresh, not yet an OS X version... I think...
4) I think I saw somewhere on Internet a tutorial about migrating to gcc 4.7 (including core changes) ... I have to search for the link again (I started to use Arduino 1.0.1 with gcc 4.7.0)... found it

If Atmel is excluded, then maybe the migration to 4.7 will happen sooner? Well, I forgot that also Linux must be able to "deliver" 4.7.2 in the most important distros (but I've seen Arduino for Linux packaged with his own version)... Fedora will have it at version 18.

This is a post I'm watching on avrfreaks.net

westfw

Hmm.  None of those repositories/tutorials are at 4.7.2, yet.  How "aggressive" do you think Arduino should be able chasing what could be a moving target?  The reason for using a WINAVR/CrossPack style of package isn't just convenience; usually those are pretty stable releases, as well.  (The Arduino IDE has had one release in the last year, right?  1.0 came out a little over a year ago, and 1.0.1 came out "recently.")

Go Up