Pages: [1]   Go Down
Author Topic: Where to find windows tools?  (Read 739 times)
0 Members and 1 Guest are viewing this topic.
Seattle, WA
Offline Offline
God Member
*****
Karma: 7
Posts: 673
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Having never run gcc on Windows, I now want to compile there to make sure stuff I'm working on is fully portable.  Where does Arduino get its AVR tools for Windows?  Web search led me to WinAVR, but those tools are TWO YEARS old.  Does Arduino build its own, get them from somewhere else, or ship with 2-year-old tools?
Logged


Guildford, UK
Offline Offline
Full Member
***
Karma: 0
Posts: 217
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

From Arduino v1.0 running

gcc.exe --version

gcc.exe (WinAVR 20081205) 4.3.2
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Looks like it's 3 years old and counting...

Iain
Logged

Seattle, WA
Offline Offline
God Member
*****
Karma: 7
Posts: 673
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Wow.  Ok, very well.  Thanks a lot.
Logged


SF Bay Area (USA)
Offline Offline
Tesla Member
***
Karma: 106
Posts: 6364
Strongly opinionated, but not official!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Note that most of the tools newer than 4.3.2 have "known problems" on AVR.  Atmel is shipping 4.5.1, I think, perhaps with some patches, but that has c++ specific issues WRT Arduino.
WEK is working on a new WinAVR package, but it doesn't seem to be happening very fast...
Logged

Seattle, WA
Offline Offline
God Member
*****
Karma: 7
Posts: 673
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Fascinating.  Every so often I see a post like that.  I'm running 4.5.2 on Snow Leopard and 4.5.3 on Ubuntu 64, and those problems have not affected me yet.  Need to keep my fingers crossed??
Logged


SF Bay Area (USA)
Offline Offline
Tesla Member
***
Karma: 106
Posts: 6364
Strongly opinionated, but not official!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The main "known bug" for 4.5 is about initialization of global objects, notably the multiple serial ports on Mega.
http://code.google.com/p/arduino/issues/detail?id=131&can=1&q=global
It's not fixed in official releases till 4.6.1: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45263
(I believe that this means that 4.3.x won't work right on very large sketches, either.  But 4.5.x was always broken.)
There was discussion here: http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=97077
And here: http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=112506
Logged

Seattle, WA
Offline Offline
God Member
*****
Karma: 7
Posts: 673
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Well, that was a fun bunch of threads! smiley. Looks like this can simply be worked around with a linker script that Puts the ctors earlier in flash, right?
Logged


SF Bay Area (USA)
Offline Offline
Tesla Member
***
Karma: 106
Posts: 6364
Strongly opinionated, but not official!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

In 4.3.x, I think you're OK if ctors is early in flash.  In the actively broken releases, the trashed register in the ctors code can prevent things from working at all.
Logged

Seattle, WA
Offline Offline
God Member
*****
Karma: 7
Posts: 673
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ah yes, I see that now.  When then I guess the only solution is to compile my own tools on all platforms smiley-grin
Logged


Pages: [1]   Go Up
Jump to: