Go Down

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


Don't know how aggressive... maybe not at all. But as long as I am aware of a better avr-gcc compiler than the current one, then I'm starting to complain, making requests, and in the end, making the switch. It doesn't need to be exactly 4.7.2, but right now, 4.8 produce bigger code and incorrect in some cases.

Regarding to frequency of changes, if 4.7.2 proves to be better and stable (until now, it does), then I want the switch and, until 4.8 proves to be better, it can stay there for years.


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>

In theory it shouldn't if pgmspace.h uses the appropriate #ifdef's to use the named address support in 4.7.

As one of the authors of the GCC infrastructure support for named address spaces, it is good to see it being used by other ports than the one I originally wrote it for (CELL).

Alastair DSilva

MHV AVR Tools 20121007 includes GCC 4.7.2.

Win32, Linux x86 & Linux x64 packages are available now, OSX is still cooking.

Alastair DSilva

MHV AVR Tool 20121007 for OSX is now available too.


Oct 10, 2012, 03:27 pm Last Edit: Oct 10, 2012, 03:48 pm by funlw65 Reason: 1
Thank you DSilva, you're fantastic! The 2) and 3)are accomplished. Now it should be easy for Arduino team to move the core to it. The Atmel will follow us soon after that ;)


P.S. Maybe they (Atmel) will reconsider and switch to Eclipse IDE to cover all the operating systems (and that will be a smart move). Microchip is using NetBeans IDE for their MPLAB X and they are doing a great job (in both the IDE and C compilers which are now cross platform). It would be pitty for Atmel to consider that engineers are tided only on Windows world. Anyway, this is another discussion - let's do things step by step.

Go Up