Forum Menu




 


Log in Problems?
New User? Sign Up!
AVR Freaks Forum Index

Post new topic   Reply to topic
View previous topic Printable version Log in to check your private messages View next topic
Author Message
srmeister
PostPosted: Feb 19, 2012 - 11:34 PM
Newbie


Joined: Feb 19, 2012
Posts: 10


I compiled a Toolchain including 4.7.0 (as of 2012-17-02) for Windows, including some fixes to known bugs of this version, like the LTO-Bug, the Relax Bug, The Multilib-tiny-stack Bug. There are probably other minor bugs but it works fine for me.

It is a standalone Toolchain, but only the core Components are included. All other Tools can be taken by WinAVR or Atmels Toolchain.

It includes:
- Binutils-2.22 (as of 2012-19-02)
- Avr-Libc-1.8.0
- AVR-Dude 5.11.1
- Languages: C, C++
- Support for ATMega and ATXMega Devices!!

As stated, you can use it as standalone version, but if you are missing some tools, install WinAVR first and then replace its files with those from my Package.

This is the Download Link, size is around 11 MB.

I hope you can profit from this! For my project, which is about 16kb, it improves the size 4,1% with -Os (Optimize for size) and 1,4% with -O2 compared to Atmels most recent Toolchain which is based on gcc 4.5.1

I would like to hear your results and please report any bugs, when found, here or directly to GCC Bugzilla.

Many greetings,
Stefan

Update 02/22: Added the missing .dll file to each directory.


Last edited by srmeister on Feb 23, 2012 - 04:58 PM; edited 2 times in total
 
 View user's profile Send private message  
Reply with quote Back to top
indianajones11
PostPosted: Feb 20, 2012 - 12:45 AM
Raving lunatic


Joined: Nov 28, 2004
Posts: 3893
Location: San Diego, Ca

Thanks for the hard work, Stefan ! I'll let you know . I would've liked it to have USB_Xmega ( crt.o files ) support though, I know it wasn't under your control . Smile

_________________
1) Studio 4.18 build 716 (SP3)
2) WinAvr 20100110
3) PN, all on Doze XP... For Now
A) Avr Dragon ver. 1
B) Avr MKII ISP, 2009 model
C) MKII JTAGICE ver. 1
 
 View user's profile Send private message  
Reply with quote Back to top
srmeister
PostPosted: Feb 20, 2012 - 01:36 AM
Newbie


Joined: Feb 19, 2012
Posts: 10


You can take a look at the appended file to see which devices are supported. Alot (or even all) ATXMegaxxxxU devices are supported and crt.o files are there. For exampe for the atxmega128a1u the file is crtx128a1u.o.

Or maybe i understand you wrong?

Edit: every device, that is mentioned in the appended file, is supported.

Please keep in mind that the xmega support is new and has not been tested by anyone besides me until now Smile
Our tanks for this nice work belongs to the hard-working people from the avr-gcc department of GNU Compiler. Atmel itself has not released its sources from their xmega-supporting avr-gcc


Last edited by srmeister on Feb 20, 2012 - 01:50 AM; edited 1 time in total
 
 View user's profile Send private message  
Reply with quote Back to top
indianajones11
PostPosted: Feb 20, 2012 - 01:45 AM
Raving lunatic


Joined: Nov 28, 2004
Posts: 3893
Location: San Diego, Ca

I meant for the new xmegas with builtin USB, example Xmega32A4U .

_________________
1) Studio 4.18 build 716 (SP3)
2) WinAvr 20100110
3) PN, all on Doze XP... For Now
A) Avr Dragon ver. 1
B) Avr MKII ISP, 2009 model
C) MKII JTAGICE ver. 1
 
 View user's profile Send private message  
Reply with quote Back to top
srmeister
PostPosted: Feb 20, 2012 - 01:55 AM
Newbie


Joined: Feb 19, 2012
Posts: 10


Yep this particular device isnt supported atm.
Let me talk to the developers and see what they can do!

Maybe you could take a look and provide a list of missing devices.
 
 View user's profile Send private message  
Reply with quote Back to top
indianajones11
PostPosted: Feb 20, 2012 - 02:03 AM
Raving lunatic


Joined: Nov 28, 2004
Posts: 3893
Location: San Diego, Ca

srmeister wrote:
Maybe you could take a look and provide a list of missing devices.
That's a list I don't have .

_________________
1) Studio 4.18 build 716 (SP3)
2) WinAvr 20100110
3) PN, all on Doze XP... For Now
A) Avr Dragon ver. 1
B) Avr MKII ISP, 2009 model
C) MKII JTAGICE ver. 1
 
 View user's profile Send private message  
Reply with quote Back to top
SprinterSB
PostPosted: Feb 20, 2012 - 11:29 AM
Posting Freak


Joined: Dec 21, 2006
Posts: 1733
Location: Saar-Lor-Lux

srmeister wrote:
please report any bugs, when found, here or directly to GCC Bugzilla.
Prior to reporting, please read http://gcc.gnu.org/bugs

There is an up-to date list of most PRs, mainly focused at avr-gcc. You can skim the lists and maybe your problem is already known, worked on or even fixed.
www.mikrocontroller.net: avr-gcc Bugs
gcc.gnu.org/bugzilla: avr
AVR Libc: bugs


Last edited by SprinterSB on Feb 20, 2012 - 05:29 PM; edited 1 time in total
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
Magister
PostPosted: Feb 20, 2012 - 02:44 PM
Hangaround


Joined: Aug 06, 2008
Posts: 146
Location: Montréal, QC

wow thanks you, I will test it!

LTO is working?
 
 View user's profile Send private message  
Reply with quote Back to top
DieCore
PostPosted: Feb 20, 2012 - 06:57 PM
Hangaround


Joined: Mar 27, 2009
Posts: 127
Location: Hellas

I tried the toolchain by overwriting it over the AS5.1 default toolchain folders (C:\Program Files (x86)\Atmel\AVR Studio 5.1\extensions\Atmel\AVRGCC\3.3.1.27\AVRToolchain) but it giving me this error when avr-gcc.exe starts and it can't compile.
 
 View user's profile Send private message Send e-mail  
Reply with quote Back to top
dak664
PostPosted: Feb 20, 2012 - 09:30 PM
Posting Freak


Joined: Jun 15, 2008
Posts: 1972
Location: North Carolina USA

Seems working in cygwin under Win7/64. I renamed the folder to C:/avr-gcc47 and added it to the beginning of the PATH, as you said winavr picks up the rest:
Code:
$ PATH=/cygdrive/c/avr-gcc47/bin:$PATH

Thanks!

Code:
$ avr-gcc --version
avr-gcc.exe (WinAVR 20100110) 4.3.3
$ avr-size -C --mcu=atmega1284p webserver6.avr-raven
AVR Memory Usage
----------------
Device: atmega1284p
Program:   73838 bytes (56.3% Full)
(.text + .data + .bootloader)

Data:      13044 bytes (79.6% Full)
(.data + .bss + .noinit)

$ avr-gcc --version
avr-gcc.exe (GCC) 4.7.0 20120217 - by SRMeister
]$ avr-size -C --mcu=atmega1284p webserver6.avr-raven
AVR Memory Usage
----------------
Device: atmega1284p

Program:   68896 bytes (52.6% Full)
(.text + .data + .bootloader)

Data:      13060 bytes (79.7% Full)
(.data + .bss + .noinit)


Last edited by dak664 on Feb 20, 2012 - 10:00 PM; edited 1 time in total
 
 View user's profile Send private message  
Reply with quote Back to top
SprinterSB
PostPosted: Feb 20, 2012 - 09:47 PM
Posting Freak


Joined: Dec 21, 2006
Posts: 1733
Location: Saar-Lor-Lux

DieCore wrote:
I tried the toolchain by overwriting it over the AS5.1 default toolchain folders (C:\Program Files (x86)\Atmel\AVR Studio 5.1\extensions\Atmel\AVRGCC\3.3.1.27\AVRToolchain) but it giving me this error when avr-gcc.exe starts and it can't compile.
In INSTALL-DIR/avr/bin there should be a libiconv-2.dll.

BTW: I'd propose you could use path name with umlauts, ligatures and some chinese and khmer characters Wink
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
Magister
PostPosted: Feb 21, 2012 - 03:17 PM
Hangaround


Joined: Aug 06, 2008
Posts: 146
Location: Montréal, QC

I still have a
Quote:
lto1.exe: internal compiler error: Segmentation fault

if I enable LTO (Windows 32 bits host)
 
 View user's profile Send private message  
Reply with quote Back to top
srmeister
PostPosted: Feb 22, 2012 - 12:48 AM
Newbie


Joined: Feb 19, 2012
Posts: 10


DieCore wrote:
but it giving me this error when avr-gcc.exe starts and it can't compile.


Im sorry for this, its a mistake on my side.
I forgot to copy the file "libiconv-2.dll" in every directory where .exe files are. (For example where cc1.exe is)
The file is there though, you would just copy it from \AVR-Toolchain\bin to AVR-Toolchain\libexec\gcc\avr\4.7.0\

I will fix this of course, in the next release!

dak664 wrote:
Seems working in cygwin under Win7/64

I compiled it under MinGW32 so didnt even know that it would work in cygwin. Nice, you got over 7% decrease in size!

Magister wrote:

I still have a
lto1.exe: internal compiler error: Segmentation fault.
if I enable LTO (Windows 32 bits host)


Thats probably caused by the above mentioned missing libiconv-2.dll. Please tell me if this fixes your problem. Iam sorry for this! Was a little bit late when i packed the file together Smile

Probably another method would be to add the \AVR-Toolchain\bin folder to your PATH variable, like dak664 did.

Edit: i updated the package in the first post to fix this issue.

Hope this helps!!
Stefan
 
 View user's profile Send private message  
Reply with quote Back to top
clawson
PostPosted: Feb 22, 2012 - 09:36 AM
10k+ Postman


Joined: Jul 18, 2005
Posts: 71208
Location: (using avr-gcc in) Finchingfield, Essex, England

Quote:

I forgot to copy the file

Why would you need to make copies - you just ensure the directory where it is located is on the PATH don't you?

_________________
 
 View user's profile Send private message  
Reply with quote Back to top
SprinterSB
PostPosted: Feb 22, 2012 - 09:54 AM
Posting Freak


Joined: Dec 21, 2006
Posts: 1733
Location: Saar-Lor-Lux

clawson wrote:
Quote:
I forgot to copy the file
Why would you need to make copies - you just ensure the directory where it is located is on the PATH don't you?
This would force you to use the by setting PATH. It's great to be able to use the tools without changing *anything* in the environment.
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
clawson
PostPosted: Feb 22, 2012 - 10:04 AM
10k+ Postman


Joined: Jul 18, 2005
Posts: 71208
Location: (using avr-gcc in) Finchingfield, Essex, England

Quote:

This would force you to use the by setting PATH. It's great to be able to use the tools without changing *anything* in the environment.

WinAVr has always added \winavr\bin and \winavr\utils\bin to the PATH during installation - I don't think it's ever been considered a "problem".

(though it's true that if you have more than one make.exe or more than one cygwin1.dll it has caused some upset).

_________________
 
 View user's profile Send private message  
Reply with quote Back to top
srmeister
PostPosted: Feb 22, 2012 - 12:04 PM
Newbie


Joined: Feb 19, 2012
Posts: 10


Yeah WinAVR did that, but my Toolchain does not have a installer, so one would have to do it by hand.
OR
as i stated in first post, first install WinAVR and overwrite its files by those in my package.
But anyways, its fixed now. No need to edit PATH

Some people complained about WinAVR changig PATH, because it can interfere with other programs.
 
 View user's profile Send private message  
Reply with quote Back to top
SprinterSB
PostPosted: Feb 22, 2012 - 12:18 PM
Posting Freak


Joined: Dec 21, 2006
Posts: 1733
Location: Saar-Lor-Lux

srmeister wrote:
Some people complained about WinAVR changig PATH, because it can interfere with other programs.
*confused* AFAIR WinAVR installer asks if it should change PATH or not...
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
dak664
PostPosted: Feb 22, 2012 - 12:29 PM
Posting Freak


Joined: Jun 15, 2008
Posts: 1972
Location: North Carolina USA

For anyone worried that changing PATH will break the existing tools, note PATH=foo:$PATH:bar affects only the current command window. So testing is harmless, and once you get it working you can add an alias to your .profile or .bash like alias usegcc47='PATH=foo:$PATH'. In Windows command windows it's set PATH=foo;% PATH% without the space after %
 
 View user's profile Send private message  
Reply with quote Back to top
srmeister
PostPosted: Feb 22, 2012 - 12:45 PM
Newbie


Joined: Feb 19, 2012
Posts: 10


SprinterSB wrote:
srmeister wrote:
Some people complained about WinAVR changig PATH, because it can interfere with other programs.
*confused* AFAIR WinAVR installer asks if it should change PATH or not...


I only read about it, for example look at first 3 posts at the bottom of this page.
 
 View user's profile Send private message  
Reply with quote Back to top
Display posts from previous:     
Jump to:  
All times are GMT + 1 Hour
Post new topic   Reply to topic
View previous topic Printable version Log in to check your private messages View next topic
Powered by PNphpBB2 © 2003-2006 The PNphpBB Group
Credits