Pages: [1]   Go Down
Author Topic: Downlevel AVR-Libc  (Read 933 times)
0 Members and 1 Guest are viewing this topic.
Grand Blanc, MI, USA
Offline Offline
Faraday Member
**
Karma: 95
Posts: 4084
CODE is a mass noun and should not be used in the plural or with an indefinite article.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Just discovered that Arduino uses AVR-Libc 1.6.4, 2008. (Went looking for the eeprom_update_* functions and found they were missing.)

There must be a reason? Just curious.
Logged

MCP79411/12 RTC ... "One Million Ohms" ATtiny kit ... available at http://www.tindie.com/stores/JChristensen/

Global Moderator
Dallas
Offline Offline
Shannon Member
*****
Karma: 207
Posts: 12912
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset


Conservatism.  The compiler and library that the Arduino folks include has been, for the most part, reliable.  They are reluctant to change for fear of crossing paths with a serious bug.

Time.  Determining which versions are worth using and which versions should be skipped is a tedious and time consuming effort.  In the short term, their time is better spent on other things (like a reliable Mega bootloader).

Fresh meat.  It is paramount to the Arduino success that the hardware and software work out-of-the-box for the first-time user who is not expected to be technically savvy.  More advanced users (like you) can find solutions on their own, here, or at AVR Freaks.
Logged

Grand Blanc, MI, USA
Offline Offline
Faraday Member
**
Karma: 95
Posts: 4084
CODE is a mass noun and should not be used in the plural or with an indefinite article.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Fair enough, all good reasons. I was a little surprised as it's evidently been the same since at least 0022. OTOH, my copy of WinAVR has 1.6.7, dated 2010. I suppose that Arduino 1.0 had enough other things going on that they didn't need a change to a major part of the toolchain as well.

A fellow I used to work with was the king of analogy. He'd argue against being an early adopter by saying, "Software is like fine wine, it needs to age a little", i.e. let other people take the brunt of the early problems. Other times he'd say, "Software is like the oil in your car, it needs to be changed once in a while." Ha! But no doubt it is a balancing act!

Happened to notice your post was number 6502! If I can't get AVR-Libc upgraded, then I will propose a change to the member grouping that uses more imaginative numbers, e.g. 328 posts to be a Full Member, 1024 for Senior, etc. smiley-lol  And thanks for the compliment, or was "advanced" referring to my age? smiley-razz
Logged

MCP79411/12 RTC ... "One Million Ohms" ATtiny kit ... available at http://www.tindie.com/stores/JChristensen/

Miramar Beach, Florida
Offline Offline
Faraday Member
**
Karma: 146
Posts: 6022
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
I just discovered that Arduino uses AVR-Libc 1.6.4, 2008.

That is untrue. Only Windows users are behind the power curve.

I use avr-libc-1.7.1, as does all Ubuntu people. I just finished getting one of the last bugs out of avr-libc-1.8.0, and some users have already upgraded to that version.

But that is ok with me. It was the other way around back in July 2011 when I got here. The Linux users were behind. Not now.  smiley-grin
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Considering the new versions don't seem to work properly (of binutils at least), I'm envious of you Windows users who have it packaged up with nice, well-tested versions smiley-wink
Logged

Miramar Beach, Florida
Offline Offline
Faraday Member
**
Karma: 146
Posts: 6022
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Considering the new versions don't seem to work properly (of binutils at least), I'm envious of you Windows users who have it packaged up with nice, well-tested versions smiley-wink

I am too. The same way I am envious of a person riding a horse when my car won't start.  smiley-wink

You must not be a Ubuntu person.

Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Considering the new versions don't seem to work properly (of binutils at least), I'm envious of you Windows users who have it packaged up with nice, well-tested versions smiley-wink

I am too. The same way I am envious of a person riding a horse when my car won't start.  smiley-wink

You must not be a Ubuntu person.



I use Gentoo - I'm usually perfectly happy with compiling a load of versions and keeping the one that works, but in this case, the device is a netbook which takes about 4-5 hours to compile GCC because the SSD is so slow (it's one of those early ones with the horrible Samsung (IIRC?) controllers). Of course, Windows wouldn't run on it at all decently, so I'm still better-off than I would be being a real Windows user smiley-wink
Logged

Grand Blanc, MI, USA
Offline Offline
Faraday Member
**
Karma: 95
Posts: 4084
CODE is a mass noun and should not be used in the plural or with an indefinite article.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
I just discovered that Arduino uses AVR-Libc 1.6.4, 2008.

That is untrue. Only Windows users are behind the power curve.

I use avr-libc-1.7.1, as does all Ubuntu people. I just finished getting one of the last bugs out of avr-libc-1.8.0, and some users have already upgraded to that version.

But that is ok with me. It was the other way around back in July 2011 when I got here. The Linux users were behind. Not now.  smiley-grin

Really? So there are different toolchain versions in the Arduino 1.0 distribution for Windows, vs. Arduino 1.0 for Linux? That could be worse than being downlevel, unless some version of a particular tool is seriously broken on a given OS.
Logged

MCP79411/12 RTC ... "One Million Ohms" ATtiny kit ... available at http://www.tindie.com/stores/JChristensen/

Miramar Beach, Florida
Offline Offline
Faraday Member
**
Karma: 146
Posts: 6022
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Really? So there are different toolchain versions in the Arduino 1.0 distribution for Windows, vs. Arduino 1.0 for Linux? That could be worse than being downlevel, unless some version of a particular tool is seriously broken on a given OS.

Answer to the first couple of questions: Oh, yes!

Response to the last statement: Only if you enjoy riding a horse.  smiley-grin

edit: For non-Linux users, the toolchain (avr-gcc, avr-libc, binutils) is not included in the Linux download from the Arduino site. That is normally provided by your Linux distribution repository.
« Last Edit: March 13, 2012, 08:51:18 am by SurferTim » Logged

Grand Blanc, MI, USA
Offline Offline
Faraday Member
**
Karma: 95
Posts: 4084
CODE is a mass noun and should not be used in the plural or with an indefinite article.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

For non-Linux users, the toolchain (avr-gcc, avr-libc, binutils) is not included in the Linux download from the Arduino site. That is normally provided by your Linux distribution repository.

Oooooh. Bad assumption on my part there! Thanks, very good to know. Have had this thing about getting into Linux kicking around in the back of my head lately...

Quote
Response to the last statement: Only if you enjoy riding a horse.  smiley-grin

Actually have avoided them thus far, intend to keep it that way! smiley-wink
Logged

MCP79411/12 RTC ... "One Million Ohms" ATtiny kit ... available at http://www.tindie.com/stores/JChristensen/

Global Moderator
Dallas
Offline Offline
Shannon Member
*****
Karma: 207
Posts: 12912
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Really? So there are different toolchain versions in the Arduino 1.0 distribution for Windows, vs. Arduino 1.0 for Linux?

The Linux version does not include GCC or Libc.  It's assumed the user will use what comes with the Linux distribution.

Quote
That could be worse than being downlevel, unless some version of a particular tool is seriously broken on a given OS.

It is.   (With the exception of proactive folks like SurferTim).  The plan is to standardize on a more recent version and include it in all distributions.
Logged

Global Moderator
Dallas
Offline Offline
Shannon Member
*****
Karma: 207
Posts: 12912
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Happened to notice your post was number 6502!

I hate that processor!  More time is spent shuffling values around so the A register is available than doing actual work.
Logged

Grand Blanc, MI, USA
Offline Offline
Faraday Member
**
Karma: 95
Posts: 4084
CODE is a mass noun and should not be used in the plural or with an indefinite article.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Happened to notice your post was number 6502!

I hate that processor!  More time is spent shuffling values around so the A register is available than doing actual work.


Haha, sorry! Never actually programmed one. Was more of a 6800 guy. Liked that one.
Logged

MCP79411/12 RTC ... "One Million Ohms" ATtiny kit ... available at http://www.tindie.com/stores/JChristensen/

Miramar Beach, Florida
Offline Offline
Faraday Member
**
Karma: 146
Posts: 6022
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Quote
That could be worse than being downlevel, unless some version of a particular tool is seriously broken on a given OS.
It is.   (With the exception of proactive folks like SurferTim).  The plan is to standardize on a more recent version and include it in all distributions.

That is a great idea, but someone has to be the pathfinder for the new versions. I don't mind being the lead dog.

BTW, I like the phrase "proactive folks". Much better than what most call me. smiley
Logged

Pages: [1]   Go Up
Jump to: